如何将分隔符(,)视为SSIS中的文本?

时间:2014-09-26 09:27:24

标签: ssis etl msbi

我得到了我的一位客户的要求。

要求是

source是分隔符平面文件,分隔符是逗号(,)。源数据包含data.now中的逗号我想要考虑分隔符也是文本。这是示例源文件 例如:

col1,col2,col3

10,usa,uk,hr

20,ind,aus,fin

30,europe,marketing

现在我的输出应该是这样的

enter image description here

不使用脚本任务我需要实现此输出剩余转换

提前致谢

以下屏幕截图显示了我的试验this is flatfile preview after configuration

at last out put came like this

2 个答案:

答案 0 :(得分:1)

使用引号作为文本限定符。即。

"20","ind,aus","fin"
"30","europe,"marketing"

可以在平面文件连接管理器中定义文本限定符。我认为其他只是猜测工作,你将编写代码来编写破解修复代码来处理从现在到世界末日的新场景。

答案 1 :(得分:0)

如果您知道第1和第3个字段始终具有单个值,并且其间的所有内容都属于第2个字段,则可以使用正则表达式。任何etl工具都应该允许你通过正则表达式解析csv文件。

以下

([^,]*),(.*),([^,]*)

适用于你提到的4个例子。

我不是正则表达专家,我相信你可以让它变得更加坚固和优雅。