【发布时间】:2012-08-13 21:48:15
【问题描述】:
我在报告中有一个名为Faculty 的多值参数。我想在报告顶部的文本框中显示选择。显而易见的解决方案是:
JOIN(Parameters!Faculty.Label,", ")
我遇到的问题是列表中的第一个选项(默认)是“所有教师”。这与 SSRS 提供的“全选”复选框不同。我们创建了这个硬编码的“All”选项,因为它在参数屏幕上看起来更清晰(用户看到“All Faculty”而不是“Adam、Arbor、Altman...”等)。如果用户保留此选项并进行任何其他选择,我们假设他们打算只选择其他项目并且存储过程忽略“全部”选择。
所以我想显示如下内容:
IIF(Parameters!Faculty.Value(0) = "0000000", [*display all selections except value 0*], (JOIN(Parameters!Faculty.Label,", "))
方括号中的部分是我遇到的问题。 0000000 值表示“所有教员”。
【问题讨论】:
-
看起来它可以采用三种方式 1) 仅“全部” 2) “全部”和任何其他 (全部被忽略) 3) 除全部之外的其他。对于 2) 您可以先加入所有内容,然后使用 Substr 或 Remove 从结果字符串中剪切“All”
-
谢谢!那解决了它。我最终使用了子字符串。如果其他阅读本文的人需要最终代码,这里是: IIF(Parameters!Faculty.Count
-
上述解决方案最初有效,但当字符串少于 14 个字符时失败(由于 IIF)。你让我走上了正确的轨道,我想出了一个相当优雅的解决方案: Switch(Parameters!Faculty.Count > 5, "Multiple Selected", Parameters!Faculty.Count
-
嗨!很高兴看到你解决了它。不要忘记回答您自己的问题并接受答案,这样如果其他人偶然发现您的问题,他们可能会受益!
标签: reporting-services vb6 bids