在SSIS中组合两个输入平面文件

时间:2017-04-24 20:07:53

标签: import ssis flat

我有两个以下格式的平面文件输入:

档案1 -

AccountNumber1    Data1
AccountNumber1    Data2
AccountNumber1    Data3
AccountNumber2    Data1
AccountNumber3    Data1

档案2 -

AccountNumber1    OtherData1
AccountNumber1    OtherData2
AccountNumber2    OtherData1
AccountNumber2    OtherData2
AccountNumber3    OtherData1

我需要应用实现以下目标的转换:

AccountNumber1    Data1
AccountNumber1    Data2
AccountNumber1    Data3
AccountNumber1    OtherData1
AccountNumber1    OtherData2
AccountNumber2    Data1
AccountNumber2    OtherData1
AccountNumber2    OtherData2
AccountNumber3    Data1
AccountNumber3    OtherData1

也就是说,我需要所有帐户行保持在一起。 Union任务似乎无法完成我的需要,因为我必须维护第一个文件的任意排序顺序,只需插入帐号匹配的文件2的行。有没有办法在没有脚本任务的情况下完成此任务?

1 个答案:

答案 0 :(得分:2)

对两个源使用派生列,将第1列添加到第1个列,将第2列添加到第二个表:

表1:

 AccountNumber1  ,  Data1 , 1

 AccountNumber1  ,  Data2 , 1

 AccountNumber1  ,  Data3 , 1

 AccountNumber2  ,  Data1 , 1

 AccountNumber3  ,  Data1 , 1

表2:

 AccountNumber1  ,  OtherData1 , 2

 AccountNumber1  ,  OtherData2 , 2

 AccountNumber2  ,  OtherData1 , 2

 AccountNumber2  ,  OtherData2 , 2

 AccountNumber3  ,  OtherData1 , 2

现在,首先使用Union All,然后按顺序使用按帐户编号和DerivedColumn排序。