对于在Excel中使用Power Query的SSIS来说,我有点新鲜。是否可以在SSIS中创建条件列,类似于Power Query中的方式。
例如,在Power Query中,您可以创建一个条件列,表示IF列[FileName]包含USA,Canada,United States,America =“North America”,否则为“null”。它将创建一个与北美和任何不符合标准的新列,它将为null。这样的事情在SSIS中是可能的。我尝试过使用了Substring和Findstring,但它并没有完全符合我的需要。
答案 0 :(得分:2)
基本上你在derived column
寻找ternary operator这样的条件:
(FINDSTRING([Name], "USA", 1) > 0) || (FINDSTRING([Name], "Canada", 1) > 0) || (FINDSTRING([Name], "United States", 1) > 0) || (FINDSTRING([Name], "America", 1) > 0) ? "North America" : NULL(DT_WSTR, 13)
为了解释它,我将其缩进为:
(FINDSTRING([Name], "USA", 1) > 0) ||
(FINDSTRING([Name], "Canada", 1) > 0) ||
(FINDSTRING([Name], "United States", 1) > 0) ||
(FINDSTRING([Name], "America", 1) > 0) ? "North America" :
NULL(DT_WSTR, 13)
要进一步修改,您可以使用以下指南:
like '%value%'
:FINDSTRING(col, "value", 1) > 0
like 'value%'
:FINDSTRING(col, "value", 1) == 1
like '%value'
:REVERSE(LEFT(REVERSE(col), X)) == "value"
答案 1 :(得分:0)
不确定。在数据流任务(也称为数据泵)中,有一个派生列组件,您可以在其中向数据流添加列并包含自定义表达式。