Azure data factory 在Azure数据流中将一行转换为多行

Azure data factory 在Azure数据流中将一行转换为多行,azure-data-factory,azure-data-flow,Azure Data Factory,Azure Data Flow,我有一个大致如下的数据集: 帐号 P01_Ind P02_Ind P03_Ind 1. Y Y N 2. Y N Y 3. N Y N 您可以使用ConditionalSplit转换,然后通过“DerivedColumn”转换向每个条件添加Indicator列。最后,使用Union和Selecttransformation来满足您的需要。(如果需要,您可以对Selecttransformation的输出进行排序。) 步骤: 创建一个数据集及其数据,就像您提供的一样 使用ConditionalS

我有一个大致如下的数据集:

帐号 P01_Ind P02_Ind P03_Ind 1. Y Y N 2. Y N Y 3. N Y N
您可以使用
ConditionalSplit
转换,然后通过“DerivedColumn”转换向每个条件添加
Indicator
列。最后,使用
Union
Select
transformation来满足您的需要。(如果需要,您可以对
Select
transformation的输出进行排序。)

步骤:

  • 创建一个数据集及其数据,就像您提供的一样
  • 使用
    ConditionalSplit
    转换将数据拆分为不同的流
  • 向每个流添加
    指示器
  • 联合三河
  • 使用“选择”转换删除P01\u Ind、P02\u Ind、P03\u Ind列。

  • Select
    transformation的输出进行排序。

  • “排序”的数据预览:

    您可以使用
    ConditionalSplit
    转换,然后通过“DerivedColumn”转换将
    指示符
    列添加到每个条件中。最后,使用
    Union
    Select
    transformation来满足您的需要。(如果需要,您可以对
    Select
    transformation的输出进行排序。)

    步骤:

  • 创建一个数据集及其数据,就像您提供的一样
  • 使用
    ConditionalSplit
    转换将数据拆分为不同的流
  • 向每个流添加
    指示器
  • 联合三河
  • 使用“选择”转换删除P01\u Ind、P02\u Ind、P03\u Ind列。

  • Select
    transformation的输出进行排序。

  • “排序”的数据预览:

    这很简单,只需执行一次取消PIVOT操作,即可将带有“Y”/“N”的行作为另一列,然后过滤掉其余的“N”值

    你会得到

     1 P01_Ind Y
     2 P02_Ind Y
     3 P03_Ind N
     .....
    

    下次您有10列而不是3列时,它是可伸缩的。

    这很简单,只需执行一次取消PIVOT操作,即可将带有“Y”/“N”的行作为另一列,然后过滤掉其余的“N”值

    你会得到

     1 P01_Ind Y
     2 P02_Ind Y
     3 P03_Ind N
     .....
    

    下次你有10列而不是3列时,它是可伸缩的。

    太棒了!感谢您提供了如此全面和详细的答案。非常感谢,太棒了!感谢您提供了如此全面和详细的答案。非常感谢。嗨,你能提供更多的细节吗?感谢在dataflow中的DSL脚本编辑器中键入此选项。这是不言自明的。用输入流名称“movies unpivot”(输出(产品名称为字符串,指示符为布尔值)、ungroupBy(帐户编号)、lateral:true、ignoreNullPivots:true)~>unPivoted unPivoted filter(指示符)~>filteredProducts`Hi您能提供更多详细信息吗?感谢在dataflow中的DSL脚本编辑器中键入此选项。这是不言自明的。用输入流名称“movies unpivot”(输出(产品名称为字符串,指示符为布尔值)、ungroupBy(帐户编号)、lateral:true、ignoreNullPivots:true)~>unPivoted unPivoted筛选器(指示符)~>filteredProducts替换电影`