49

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

参数 = UserFranNr

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

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

(将来很有可能会有更多的特许经营权使用他们自己的标志。)

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

我还没有找到任何解释如何使用SWITCH.

这甚至可能吗?如果有怎么办?如果没有任何不错的选择?谢谢

资源: 表达式示例(报表生成器和 SSRS) 定义公式对话框(报表生成器)

加上这里和其他论坛。

4

1 回答 1

108

SwitchSSRS表达式中没有默认子句。

但是,您始终可以稍微修改您的表达式:

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

由于任何时候遇到最后一个条件,它将被显式评估为true,因此最后一行将有效地充当默认值。

我过去用过这个没有问题。除了可能使阅读该表达的人皱眉之外,它还可以用最少的努力完美地工作。

至于没有默认条款是否明智,这是微软的问题。这对我来说当然很奇怪,但是你去吧。

于 2013-09-18T09:38:13.393 回答