我想构建一个表达式来处理CSV文件名,该文件名将根据输出的合同而改变。
在我的示例中,合同1 需要额外的单词添加到文件中以进行ETL处理。
在对此进行测试时,我发现表达式中的IF将使IF之前的表达式部分变为空白,并且还会错误地评估IF。
例如,此表达式有效:
@[User::Contract] == "Contract1"? "Yes": "No"
但是,如果我设置以下表达式,则IF会停止按预期运行:
"Does the variable contain Contract1 " + @[User::Contract] == "Contract1"? "Yes": "No"
唯一改变的是在IF之前添加文本。
关于A)如何解决这个问题和B)为什么会发生这种情况的任何建议?
谢谢。
答案 0 :(得分:2)
问题在于,它在评估IF语句之前将变量Contract串联在一起。如果将IF括在括号中,则应返回完整的语句。
"Does the variable contain Contract1 " + (@[User::Contract] == "Contract1"? "Yes": "No")