无法解析我的 SSIS 派生列表达式
Posted
技术标签:
【中文标题】无法解析我的 SSIS 派生列表达式【英文标题】:Cannot parse my SSIS derived column expression 【发布时间】:2015-06-05 10:11:24 【问题描述】:您好,这是我第一次尝试编写复杂的派生列表达式。我不确定问题出在哪里,因为它是一个非常通用的错误消息,并没有多大帮助,
表达式为:
If( [conv_Status] ==10 && [conv_Agreed] == TRUE && [conv_Unagreed] == TRUE) ([conv_Status] == 15) ELSE ([conv_Status] == [conv_Status])
错误信息如下:
tblDetail [派生列 [143]] 出错:尝试解析表达式“If( [conv_Status] ==10 & [conv_Agreed] == TRUE & [conv_Unagreed] == TRUE) ([conv_Status] == 15 ) ELSE([conv_Status] == [conv_Status])" 失败。表达式可能包含无效标记、不完整标记或无效元素。它可能格式不正确,或者可能缺少括号等必需元素的一部分。
tblDetail [派生列 [143]] 出错:无法解析表达式“If( [conv_Status] ==10 & [conv_Agreed] == TRUE & [conv_Unagreed] == TRUE) ([conv_Status] == 15)否则([conv_Status] == [conv_Status])”。表达式无效,或存在内存不足错误。
tblDetail [派生列 [143]] 出错:表达式“If( [conv_Status] ==10 & [conv_Agreed] == TRUE & [conv_Unagreed] == TRUE) ([conv_Status] == 15) ELSE( “Derived Column.Inputs[Derived Column Input].Columns[conv_Status]”上的 [conv_Status] == [conv_Status])" 无效。
tblDetail [Derived Column [143]] 出错:无法在“Derived Column.Inputs[Derived Column Input].Columns[conv_Status]”上设置属性“Expression”。
谢谢
【问题讨论】:
这是 SSIS 还是 s-s-rS? 我正在与 SSIS 合作 【参考方案1】:这就是答案:
conv_Status == 10 && conv_Agreed == FALSE && conv_Unagreed == TRUE ? 15 : conv_Status
【讨论】:
再解释一下:派生列表达式返回一个值——它没有设置任何值。 SSIS也不使用if
和then
,它使用?
和:
【参考方案2】:
... ([conv_Status] = 15) ELSE ([conv_Status] = [conv_Status])
我相信您希望在这些中分配“=”,而不是比较“==”。
【讨论】:
以上是关于无法解析我的 SSIS 派生列表达式的主要内容,如果未能解决你的问题,请参考以下文章
无法评估表达式。在 SSIS 中(IDTSVariableDispenser100 变量,布尔 isSensitive)