【问题标题】:SSRS - Multiple Value Parameter - Expression regarded 'All' optionSSRS - 多值参数 - 表达式视为“全部”选项
【发布时间】:2017-03-06 12:10:44
【问题描述】:

我有一个 SSRS 报告,其中一个参数允许进行多项选择,我还添加了一个“全部”选项,该选项会将“”传递给数据库并选择所有部门。

所以在下拉列表中我们有类似的内容:

(全选)

全部(代码'')

人力资源(代码 1)

IT(代码 2)

管理(代码 3)

因此(全选)是多选的标准选项,而(全选)是传递空值/''的自定义选项。我们有额外的 (All) 允许返回所有部门(一些不在列表中)。我想要做的是了解如果我选择(全部)与其他选项一起传递给数据库的内容 - 那么如果我选择(全部)和 HR?目前,如果我选择此选项 - 只会显示 HR 的结果。

我希望能够编写一个条件,说明他们是否选择了(全部)执行此操作,但我不确定数组是如何传递的?我想模仿选择(全部)时报告传递的内容?

【问题讨论】:

  • 您应该从 multipick 参数创建一个分隔列表。如果您使用逗号,它应该看起来像“Null,HR”。将一些逻辑添加到您的参数 proc 逻辑中以删除 All 选项,并从多选中保留默认的 Select All。在您的报告中将字符串拆分为一个表格并从那里开始。

标签: arrays reporting-services parameter-passing


【解决方案1】:

选择内置选择的所有选项时,SSR将参数设置为所有可能的值作为逗号分隔列表,该列表将传递给您的数据集。您的自定义 All 有其自己的值,即作为单个值发送,您处理的方式与其他值不同。

假设您的 All 参数的值为“All”,在您的数据集查询中,where 子句需要是

WWHERE dept IN (@dept) OR 'All' IN (@dept)

如果您的 All & HR 被选中,则查询的功能等同于

WHERE dept IN ('HR','All') OR 'All' IN ('HR','All')

存在一些性能影响,因此请确保使用多个选项进行测试。

【讨论】:

  • 非常感谢 - 这个解决方案为我指明了正确的方向,我已经能够解决
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 2014-11-06
  • 1970-01-01
  • 2023-03-24
  • 2012-02-24
  • 1970-01-01
相关资源
最近更新 更多