我需要导入一系列CSV文件。它们有大约30列,其中大多数应该是数字。生成它们的过程使用" NA"表示NULL值和" Inf" for infinite(除以零问题),应转换为99999。
我为第一列创建了派生列变换,这很简单,但现在我能想到将其用于其他列的唯一方法是复制/粘贴然后将代码更改30次。然后我需要重新映射一切。
有更简单的方法吗?某种方式可以说,"将此逻辑应用于所有这些列"。我只是想将数据导入到所有NVARCHAR()列的表中并在T-SQL中完成工作,但似乎SSIS应该能够更优雅地处理这个问题。
谢谢!
答案 0 :(得分:1)
没有BIML,没有简单的方法以编程方式将规则应用于所有列。虽然,您可以在数据流中使用脚本任务,但我认为这将比需要的工作更多。
为什么不使用1个派生列变换,其中包含所有30列?您不仅限于每次转换1次。如果我将相同的逻辑应用于多个列,我会在一个转换中完成所有操作。在我的大多数情况下,我可以替换列(这是变换中的一个选项)而不是"添加为新列"这很可能会阻止你重新映射一切。