使用参考数据集扩充
操作的功能与用途¶
使用参考数据集扩充操作允许您使用参考数据集来扩充目标数据集。具体而言,该扩充操作将作为源的参考数据集的属性字段值传输到目标数据集的列中。仅当两个数据集包含具有相同字段代码和相同值的列时,此操作才可行。
可以将参考数据集的字段设置为条件字段。如果未指定参考数据集的条件字段,则源数据集中与目标数据集对应的每个值都会使条件成立。
对值范围的扩充操作¶
在非高级设置参考数据集上(参见参考数据集),可以为扩充操作定义高级设置。这些设置允许您考虑与参考值相关的记录范围来扩充数据。为此,必须在 DTP 操作设置中定义以下元素:
- 将在其上执行扩充操作的目标数据集字段
- 一个运算符,用于检测同一目标数据集的另一个字段是否小于、小于或等于、大于或大于等于参考数据集源字段中指示的限值。
- 参考数据集的源字段,以字段代码或用于计算其值的 SQL 公式表示。
开放范围只能为数据字段或数字字段定义。而对于字符串字段,则必须插入一个条件来指示范围的下限,并插入一个条件来指示范围的上限。
系统将此类高级设置视为扩充操作标准运作方式的例外,该标准运作方式适用于所有其他数据集字段。
注意:% 字符在高级条件中没有特定功能,会被视为任何其他字符。
这些高级设置作为扩充操作标准运作方式的例外而有效。
注意:如果参考数据集和目标数据集在用作条件的列上均为 null 值,系统会将它们视为两个不同的行。因此,条件不成立。
带特殊字符的条件¶
可以通过插入后跟 % 字符的值,在参考数据集的字段上使用特殊条件。例如,A% 对应所有以 A 开头的元素。在这种情况下,系统使用由 SQL 运算符 'like' 定义的条件,而非值之间的对应关系。系统还可以在同一行上检查多个条件,生成新行并扩充现有行。当操作生成行时,系统会显示行重复错误消息,并在审计中显示前 10 个多余行的详细信息。
操作运作方式示例
此示例展示了使用参考数据集扩充目标数据集的操作如何运作。
目标数据集将显示以下详细信息。

参考数据集将显示以下详细信息。

扩充操作结束时,目标数据集将显示以下详细信息。

注意:如果参考数据集在条件列 Column 1 的第一行中报告了 "%",则会针对目标数据集上该列的所有值(因此包括 A 值和 B 值)检查该条件,从而使生成的行总数从两行增加到三行。因此,生成的行中有两行是通过检查第一个条件生成的,一行是通过检查第二个条件生成的。由于某个条件生成了重复行,这会导致使用它的操作出错。但是,对于 deploy 类型数据集不会检测到问题(参见参考数据集 - Deploy)。
例外管理(Level 类型字段)¶
参考数据集字段可以配置为 Level。当您希望在数据集的一列中指定对参考数据集中定义的行为的例外级别时,此类型很有用。
注意:LEVEL 类型的列(如果存在)不能有 null 值。
level 类型字段的运作方式示例
此示例展示了在参考数据集上存在 level 类型字段时,使用参考数据集扩充目标数据集的操作如何运作。
参考数据集将显示以下详细信息。
| COND_1 | COND_2 | ATTRIBUTE | LEVEL |
|---|---|---|---|
| AA | % | default A | 0 |
| AA | X | new value | 1 |
| B | W | default B | 0 |
目标数据集将显示以下详细信息。
| COND_1 | COND_2 | ATTRIBUTE |
|---|---|---|
| AA | X | |
| AA | Y | |
| AA | Z | |
| B | W | |
| C | W |
扩充操作结束时,目标数据集将显示以下详细信息。
| COND_1 | COND_2 | ATTRIBUTE |
|---|---|---|
| AA | X | new value |
| AA | Y | default A |
| AA | Z | default A |
| B | W | default B |
| C | W |
注意:设置了较高级别的条件会覆盖先前级别定义的条件。
筛选器管理(Filters 类型字段)¶
参考数据集字段可以配置为 Filter。当您希望在数据集的一列中指定一个筛选器,以便在运行更新步骤中因同一行而应用于目标数据集时,此类型很有用。
注意:FILTER 类型列(如果存在)也可以有 null 值,在这种情况下扩充不会被筛选。
filter 类型字段的运作方式示例
此示例展示了在参考数据集上存在 filter 类型字段时,使用参考数据集扩充目标数据集的操作如何运作。
参考数据集将显示以下详细信息。
| COND_1 | COND_2 | ATTRIBUTE | FILTER |
|---|---|---|---|
| AA | % | default A | CAMPO_INFO = '1' |
| AA | X | new value | CAMPO_INFO = '0' |
| B | W | default B | COND_1 = 'B' |
目标数据集将显示以下详细信息。
| COND_1 | COND_2 | CAMPO_INFO |
|---|---|---|
| AA | X | 1 |
| AA | Y | 0 |
| AA | Z | 0 |
| B | X | AA |
| B | W | B |
扩充操作结束时,目标数据集将显示以下详细信息。
| COND_1 | COND_2 | ATTRIBUTE |
|---|---|---|
| AA | X | default A |
| AA | Y | |
| AA | Z | |
| B | W | default B |
| C | W |