在我可以如何在SSIS中实现以下目标方面,你们可以帮助我(向正确的方向指点我)。
所以,我有一个看起来像这样的平面文件
ColumnA ColumnB ColumnC ColumnD ColumnN
1 x APPLE Random1 MoreRandomData1
2 y ORANGE Random2 MoreRandomData2
3 z OTHER Random3 MoreRandomData3
...,我需要将这些数据以以下格式存储到表中
ColumnA, ColumnB, BigBlurColumn
1 x ColumnC:APPLE, ColumnD:Random1, ColumnN:MoreRandomData1
2 y ColumnC:ORANGE, ColumnD:Random2, ColumnN:MoreRandomData2
3 z ColumnC:OTHER, ColumnD:Random3, ColumnN:MoreRandomData3
这是我的问题:
1.如何读取平面文件的标题/列?
2.是否可以透视#1的结果
如果我可以同时操纵#1和#2,那么对我来说,在SSIS中进行重置将非常容易,显然我可以编写这些脚本,但是我的客户坚持使用SSIS,因为这是标准的ETL工具。>
关于如何实现上述方案的任何想法?
谢谢
答案 0 :(得分:1)
在平面文件连接管理器中,取消选中First row contains header
选项。然后转到“高级标签”,删除所有列并保留一列,并将其长度更改为4000。
在数据流任务中,添加一个脚本组件,该组件将每一行分开,并:
以下答案(不同的情况,但有帮助)将为您提供一些见识:
答案 1 :(得分:0)
尝试将数据转储到临时表中,然后使用STRINGAGG()函数将数据连接为所需的格式,然后将其移至目标表。