动态列映射
问题描述:
我有2个excel文件中的源数据。来自这两个excel文件的数据应该加载到同一个事实表中。 excel文件和表中的列名不相同。我有一个引用表,其中有excel和Fact Table之间的列映射。 我必须引用此参考表格作为列映射,另外我必须添加一些派生列(Created_Date)来加载Fact_Table。动态列映射
我已经给下方的样本数据结构:
源数据
Excel1_Order.xls
OrderNumber OrderQuantity OrderDate
Order10001 100 01-01-2011
Excel2_Customer.xls
CustomerNumber CustomerName CustomerAddress
Customer0001 CCPrivateLtd India
ReferenceTable
Category DestinationColumn SourceColumn
Order Disp_Col_1 OrderNumber
Order Disp_Col_2 OrderQuantity
Order Disp_Col_3 OrderDate
Customer Disp_Col_1 CustomerNumber
Customer Disp_Col_2 CustomerName
Customer Disp_Col_3 CustomerAddress
DestinationTable
Category Disp_Col_1 Disp_Col_2 Disp_Col_3 Created_Date
Order Order10001 100 01-01-2011 getdate()
Customer Customer0001 CCPrivateLtd India getdate()
有没有办法在SSIS来处理呢?
答
通常我会创建两个数据流并让文件名决定使用哪一个。
我是否正确,列总是在相同的顺序?因此,即Excel1_Order.xls列第一列将始终位于DestinationTable Disp_col_1中,第二列将位于Disp_col_2中.. – stb 2012-07-09 13:54:32