我有一个相当复杂的平面文件,我正在尝试使用SSIS解析。平面文件的整体结构如下:
客户名称, CustomerAddress, CustomerContactInfo, InvoiceDate1, InvoiceAmount1, InvoiceDate2, InvoiceAmount2, InvoiceDate3, InvoiceAmount3
我正在尝试将其加载到我的数据库中的两个表中,即Customer表和Invoice表。 CustomerName,CustomerAddress和CustomerContactInfo都需要插入到customer表中。 InvoiceDate1和InvoiceAmount1需要是Invoice表中的一行,其中包含Customer表的外键。 InvoiceDate2和InvoiceDate3也是如此。
我尝试仅使用unpivot转换,但它也想要对客户进行忽略,我不能这样做。在SSIS中有一个很好的方法来处理这个问题吗?
答案 0 :(得分:2)
在您的数据流中,您可以使用多播组件沿多个路径发送数据。 Source组件添加Multicast组件之后。从一个Multicast输出发送数据到Customer表。您可以忽略任何后续组件中未使用的列。
在Multicast的第二个输出中,附加Unpivot转换。让它忽略您不希望包含在“发票”表中的所有列。然后,它将仅处理将添加到表中的列。