Report Builder 3.0 SWITCH表达式DEFAULT / ELSE

时间:2013-09-18 09:29:11

标签: reporting-services expression reporting reportbuilder3.0 ssrs-expression

我正在尝试根据用户特许经营号码显示不同的徽标。

参数= UserFranNr

如果值<> 99和<> 87,然后要显示的嵌入图像是ID0。 (嵌入的图像名称是字符串。)

这适用于嵌套的IIF,但似乎是使用SWITCH的正确时间/地点。

(将来很多特许经营商很可能会使用自己的标识。)

=Switch 
(
Parameters!UserFranNr.Value = "99","ID99",
Parameters!UserFranNr.Value = "87","ID87",
"ID0"
)

我没有找到任何说明如何使用SWITCH实现默认值的文档。

这甚至可能吗?如果是这样的话?如果没有任何体面的选择? 感谢

资源: Expression Examples (Report Builder and SSRS) Define Formula Dialog Box (Report Builder)

此处和其他论坛。

1 个答案:

答案 0 :(得分:79)

SSRS Switch表达式中没有默认子句。

但是,您可以随时修改表达式:

=Switch 
(
  Parameters!UserFranNr.Value = "99","ID99",
  Parameters!UserFranNr.Value = "87","ID87",
  true, "ID0"
)

由于任何时候命中最后一个条件,它将被显式评估为true,最后一行将有效地作为默认值。

我过去曾经使用过这个问题。除了可能会在阅读表达的人中产生皱眉之外,它只需要很少的努力就可以很好地工作。

对于没有默认条款是否合理的行为,嗯,这对微软来说是一个问题。这对我来说当然很奇怪,但你去了。