【问题标题】:Combing two input flat files in SSIS在SSIS中组合两个输入平面文件
【发布时间】:2017-04-24 20:07:53
【问题描述】:

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

文件 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 的行。有没有办法在没有脚本任务的情况下完成此任务?

【问题讨论】:

    标签: import ssis flat


    【解决方案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,然后依次使用按 AccountNumber 和 DerivedColumn 排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多