您可以使用 Transformer stage 将具有重复列的数据单行转换为多行输出。
包含多个重复列的输入数据
当输入数据包含多列重复数据的行时,可使用 Transformer stage 生成多个输出行:每重复一列生成一行。
例如,如果输入行包含以下数据。
| Col1 |
Col2 |
Name1 |
Name2 |
Name3 |
| abc |
def |
Jim |
Bob |
Tom |
您可以使用 Transformer stage 将输入数据展平,并为每行输入数据生成多行输出。 该数据现包含以下列。
| Col1 |
Col2 |
名称 |
| abc |
def |
Jim |
| abc |
def |
Bob |
| abc |
def |
Tom |
要在 Transformer stage 中实现此场景,请进行以下设置:
- 循环条件
- 请将以下表达式作为循环条件输入。
@ITERATION <= 3
由于每行输入数据包含三列名称,因此需要对每行输入数据进行三次处理,并生成三行独立的输出数据。
- 循环变量
- 定义一个循环变量,为输出行中的新列 Name 提供值。 LoopVar1 的值由以下表达式设定:
IF (@ITERATION = 1) THEN inlink.Name1
ELSE IF (@ITERATION = 2) THEN inlink.Name2
ELSE inlink.Name3
- 输出链接元数据及其衍生信息
- 定义输出链接列及其衍生关系:
- Col1 - inlink.col1
- Col2 - inlink.col2
- 名称 - LoopVar1