SSIS表达式将IF之前的所有内容空白

时间:2018-07-18 14:09:54

标签: ssis

我想构建一个表达式来处理CSV文件名,该文件名将根据输出的合同而改变。

在我的示例中,合同1 需要额外的单词添加到文件中以进行ETL处理。

在对此进行测试时,我发现表达式中的IF将使IF之前的表达式部分变为空白,并且还会错误地评估IF。

例如,此表达式有效:

@[User::Contract] == "Contract1"? "Yes": "No"

设置如下: Working expression

但是,如果我设置以下表达式,则IF会停止按预期运行:

"Does the variable contain Contract1 " + @[User::Contract] == "Contract1"? "Yes": "No"

这只是返回“ No”,这是如果IF计算不正确: Not working expression

唯一改变的是在IF之前添加文本。

关于A)如何解决这个问题和B)为什么会发生这种情况的任何建议?

谢谢。

1 个答案:

答案 0 :(得分:2)

问题在于,它在评估IF语句之前将变量Contract串联在一起。如果将IF括在括号中,则应返回完整的语句。

"Does the variable contain Contract1 " + (@[User::Contract] == "Contract1"? "Yes": "No")