根据字段值拆分 ssis 中的行

Split rows in ssis based on a field value

在 SSIS 中 - 如何将行中的数据拆分为 2 行 例如:

发件人:

ID  Data
1   On/Off
2   On/Off

至:

ID  Data
1   On
1   Off
2   On
2   Off

解决方案概述

您必须使用脚本组件来实现此目的。使用非同步输出缓冲区根据您自己的逻辑从一行生成多行。

解决方案详细信息

  1. 添加数据流任务
  2. DataFlow Task 中添加 Flat File SourceScript Component 和目的地
  3. 在脚本组件中,select IDData 列作为输入
  4. 转到 Input and Outputs 页面,单击输出并将 Synchronous Input 属性 更改为 none
  5. 将两个输出列 IDData 添加到 Output
  6. 将脚本语言更改为 Visual Basic
  7. 在脚本编辑器中编写以下代码

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    
        Dim strValues() as String = Row.Data.Split(CChar("/")
    
        For each str as String in strValues
    
            Output0Buffer.AddRow()
            Output0Buffer.ID = Row.ID
            Output0Buffer.Data = str
    
        Next
    
    
    End Sub
    

附加信息

有关详细信息,请遵循这些 links:


使用 T-SQL

根据您的评论,这是一个 link,其中包含一个示例,说明如何使用 SQL 命令

  • Turning a Comma Separated string into individual rows