【问题标题】:Report Builder 3.0 SWITCH expression DEFAULT/ELSEReport Builder 3.0 SWITCH 表达式 DEFAULT/ELSE
【发布时间】:2013-09-22 23:54:49
【问题描述】:

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

参数 = 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)

加上这里和其他论坛。

【问题讨论】:

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


    【解决方案1】:

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

    但是,您总是可以稍微修改您的表达方式:

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

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

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

    至于没有默认子句是否明智,这是微软的问题。这对我来说确实很奇怪,但是你去吧。

    【讨论】:

    • 哈哈。非常简单!完美的!谢谢伊恩:)
    • 真正的问题是,在没有明确的 DEFAULT 案例的情况下实现 switch 运算符是一个好主意,因为几十年来 switch 一直在完美地工作。微软总是有惊喜。
    • 你是救生员。 (我猜是尤达)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    相关资源
    最近更新 更多