如何在 SSRS 报告中使用多个 iif?

How can I use multiple iif in SSRS report?

我有一个 IIF 表达式,我正在尝试使用...

=iif(sum(Fields!Actual.Value) > 0,"增加",

iif(sum(Fields!Actual.Value) < 0,"减少",

iif(sum(Fields!Actual.Value) = 0,"无变化","None")))

或 iif(isnothing(sum(Fields!Actual.Value)),"N/ap","None")

这让我出错。还有其他解决方法吗?

在这种情况下,使用 SWITCH 会容易得多。 Switch 使用成对的表达式来计算值 return。它更容易阅读并且通常不需要嵌套。

所以对于你的例子,你可以做这样的事情。

=SWITCH (
         SUM(Fields!Actual.Value) > 0, "Increased",
         SUM(Fields!Actual.Value) < 0, "Decreased",
         SUM(Fields!Actual.Value) = 0, "No Change",
         ISNOTHING(SUM(Fields!Actual.Value)) , "N/ap",
         True, "None"
        )

最后的 True 基本上就像一个 ELSE,它捕获任何与前面的表达式不匹配的内容。

SWITCH 在找到第一个匹配项时停止,因此根据结果,您可能必须更改顺序或每次检查但从这里开始并查看结果。