嵌套iif

时间:2017-02-26 20:17:41

标签: reporting-services

我一直试图让嵌套的iif与“like”运算符一起工作,并且无法提出正确的语法。基本代码如下所示,在建议之前,我也尝试过具有类似错误的SWITCH运算符。表达式编辑器根据括号移动错误。此特定表达式位于SSRS报告中矩阵的“填充”属性中。我真的想在比赛中设置颜色并保持不变,不匹配。对于下面的代码,表达式编辑器在文本“ Preferred ”之后的第一个逗号上显示错误。任何见解都将不胜感激。

=iif((Fields!PHASE_TYPE.Value like "*Preferred*","ForestGreen","Blue") or
(Fields!PHASE_TYPE.Value like "*Maintain*","DarkSeaGreen","Red"))

1 个答案:

答案 0 :(得分:0)

您的语法不适合IIF函数。它需要3个参数,你只需要给它一个。

您需要将表达式更改为下面的表达式。

=Switch(Fields!PHASE_TYPE.Value like "*Preferred*","ForestGreen",
    Fields!PHASE_TYPE.Value like "*Maintain*","DarkSeaGreen",
    True, "White") ' This last part will catch anything that does not match the above

希望这可以帮到你。