首页 > 解决方案 > SSIS 表达式在 IF 之前清空所有内容

问题描述

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

在我的示例中,Contract1需要为他们的 ETL 流程在文件中添加一个额外的词。

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

例如,这个表达式有效:

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

这是这样设置的: 工作表达

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

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

这只是返回“否”,即 IF 评估不正确: 不工作的表达

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

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

提前致谢。

标签: ssis

解决方案


问题是它在评估 IF 语句之前连接您的变量 Contract 。如果将 IF 括在括号中,则应返回完整的语句。

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

推荐阅读