Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays SSRS-多值参数-表达式为“全部”选项_Arrays_Reporting Services_Parameter Passing - Fatal编程技术网

Arrays SSRS-多值参数-表达式为“全部”选项

Arrays SSRS-多值参数-表达式为“全部”选项,arrays,reporting-services,parameter-passing,Arrays,Reporting Services,Parameter Passing,我有一个SSRS报告,其中一个参数允许多个选择,我还添加了一个“All”选项,该选项将向数据库传递一个参数,例如选择所有部门 因此,在下拉列表中,我们有如下内容: 全选 所有代码 人力资源代码1 代码是2 管理守则3 因此,全选是multi-Select的标准选项,而全选是传递null/的自定义选项。我们有额外的All,允许所有部门返回列表中未列出的部分。我想做的是了解如果我选择All-On-side其他选项会传递给DB什么-那么如果我选择All和HR?目前,如果我选择此选项,只会显示HR的结果

我有一个SSRS报告,其中一个参数允许多个选择,我还添加了一个“All”选项,该选项将向数据库传递一个参数,例如选择所有部门

因此,在下拉列表中,我们有如下内容:

全选

所有代码

人力资源代码1

代码是2

管理守则3

因此,全选是multi-Select的标准选项,而全选是传递null/的自定义选项。我们有额外的All,允许所有部门返回列表中未列出的部分。我想做的是了解如果我选择All-On-side其他选项会传递给DB什么-那么如果我选择All和HR?目前,如果我选择此选项,只会显示HR的结果


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

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

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

WWHERE dept IN (@dept) OR 'All' IN (@dept)
如果选择了All&HR,则查询的功能相当于

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

由于存在一些性能问题,因此请确保使用多个选项进行测试。

您应该使用multipick参数创建一个删除列表。如果您使用逗号,它应该看起来像Null,HR。在参数proc逻辑中添加一些逻辑,以删除All选项,只保留多重拾取中的默认全选。在您的报告中,将字符串拆分为一个表,然后从表中开始。非常感谢-此解决方案为我指明了正确的方向,我已经能够解决此问题