在 Azure 数据流中将 1 行变成多行
Turn 1 row into multiple rows in Azure Data Flows
我有一个数据集:
Account No
P01_Ind
P02_Ind
P03_Ind
1
Y
Y
N
2
Y
N
Y
3
N
Y
N
有没有一种方法可以在 Azure 数据流中添加转换,以便根据这些指标列,每一行都会变成 1 行或多行?在此示例中,我的数据集将变为:
Account No
Indicator
1
P01
1
P02
2
P01
2
P03
3
P02
我查看了 Unpivot,但看不出它如何处理这些数据。请注意,此转换后的数据集将进行进一步的转换,并且不会在此步骤后下沉。感谢收到任何提示。谢谢
您可以使用 ConditionalSplit
转换,然后通过 'DerivedColumn' 转换向每个条件添加 Indicator
列。最后,使用 Union
和 Select
转换来满足您的需要。(如果需要,您可以对 Select
转换的输出进行排序。)
步骤:
- 像您提供的那样创建一个数据集及其数据。
- 使用
ConditionalSplit
转换将数据拆分到不同的流。
- 向每个流添加
Indicator
列。
- 联合三流
使用'Select'转换删除P01_Ind、P02_Ind、P03_Ind列。
排序 Select
转换的输出。
'Sort'的数据预览:
这就像做一个逆透视一样简单,它会让你得到带有 'Y'/'N' 的行作为另一列,然后过滤掉其余的值以获得 'N' 的值。
你会得到
1 P01_Ind Y
2 P02_Ind Y
3 P03_Ind N
.....
下次您有 10 列而不是 3 列时它是可扩展的。
我有一个数据集:
Account No | P01_Ind | P02_Ind | P03_Ind |
---|---|---|---|
1 | Y | Y | N |
2 | Y | N | Y |
3 | N | Y | N |
有没有一种方法可以在 Azure 数据流中添加转换,以便根据这些指标列,每一行都会变成 1 行或多行?在此示例中,我的数据集将变为:
Account No | Indicator |
---|---|
1 | P01 |
1 | P02 |
2 | P01 |
2 | P03 |
3 | P02 |
我查看了 Unpivot,但看不出它如何处理这些数据。请注意,此转换后的数据集将进行进一步的转换,并且不会在此步骤后下沉。感谢收到任何提示。谢谢
您可以使用 ConditionalSplit
转换,然后通过 'DerivedColumn' 转换向每个条件添加 Indicator
列。最后,使用 Union
和 Select
转换来满足您的需要。(如果需要,您可以对 Select
转换的输出进行排序。)
步骤:
- 像您提供的那样创建一个数据集及其数据。
- 使用
ConditionalSplit
转换将数据拆分到不同的流。
- 向每个流添加
Indicator
列。
- 联合三流
使用'Select'转换删除P01_Ind、P02_Ind、P03_Ind列。
排序
Select
转换的输出。
'Sort'的数据预览:
这就像做一个逆透视一样简单,它会让你得到带有 'Y'/'N' 的行作为另一列,然后过滤掉其余的值以获得 'N' 的值。
你会得到
1 P01_Ind Y
2 P02_Ind Y
3 P03_Ind N
.....
下次您有 10 列而不是 3 列时它是可扩展的。