跳转至

虚拟数据集

概述

虚拟数据集包含逻辑定义,允许将两个或多个物理数据集组合起来,在它们的字段之间创建关系。因此,虚拟数据集的字段是由物理数据集调用的字段,或根据用户定义的公式计算得出的字段。

字段类型 描述
基于物理数据集字段的字段 基于从一个或多个物理数据集提取的字段所定义的字段。
计算字段 基于系统在运行时求解的公式的字段。用于在运行时计算值的公式还可以调用物理数据集字段,因此允许处理复杂的值。

虚拟数据集允许组合多个数据集的值并执行计算,而无需运行数据处理。虚拟数据集返回的值在运行时计算,不保存在数据库中。它们可以在导航模式下由报表引擎使用,作为数据转换包操作的输入,或作为通过快速数据加载器加载时的数据源。

数据集字段之间的关联

虚拟数据集通过物理数据集之间的关系来定义。只有在线物理数据集可供选择。离线数据集不可用,因为假定它们正在变更中。

关联通过指定两个物理数据集及相对字段来定义,这些字段必须相关并组合(联接)。因此,虚拟数据集只返回相关字段具有匹配值的记录。为此,必须至少定义两个数据集字段之间的一种关系。

使用插入所有记录选项(可在两个相关物理数据集上分别选择),还可以在虚拟数据集返回的记录集中包含物理数据集中某个相关字段为空的记录(左外联接右外联接全外联接)。

虽然无法将物理数据集与自身关联,也无法在关系的两个字段中选择同一数据集,但仍可以不选择第二个数据集。这样,字段将基于唯一选定的物理数据集的字段进行计算,且无法再向其他数据集添加进一步的关系。

注意:不能使用其他虚拟数据集来定义虚拟数据集。

在插入后续数据集关系时,如果新关系中的两个数据集之一包含在先前的关系中,这相当于将第二对数据集与先前关系的结果相关联。

示例

数据集 A 联接数据集 B

数据集 B 联接数据集 C

系统将其解析为:

(数据集 A 联接数据集 B)联接数据集 C

使用以下 3 对关系可获得相同结果:

数据集 A 联接数据集 B 数据集 A 联接数据集 B 数据集 A 联接数据集 B
数据集 A 联接数据集 C 数据集 C 联接数据集 B 数据集 C 联接数据集 A