如何在SSRS报告中包含多选参数?

时间:2019-01-17 00:28:49

标签: sql select reporting-services parameters

我有一个带有多选参数的SSRS报告。

我想将参数包含在我的数据集中。数据集是使用SQL查询创建的。通常,我会做这样的事情:

SELECT * FROM table WHERE value = @parameter

使用多选参数如何实现完全相同的结果?

E.G。该参数可以勾选以下选项:

  • 选项1
  • 选项2
  • 选项3

所以我的查询应该像这样工作:

SELECT * FROM table WHERE value in ('Option 1', 'Option 2' 'Option 3')

因此,使用一个参数,我将对其进行成像:

SELECT * FROM table WHERE value in (@parameter)

但是使用通过SQL查询构建的数据集来引用多选报告参数的正确语法是什么?

2 个答案:

答案 0 :(得分:0)

如果您直接在报表的数据集中查询(因此不是存储过程),那么最终的SELECT将起作用

SELECT * FROM table WHERE value in (@parameter)

SSRS会将值转换为逗号分隔的列表,并将其注入到脚本中,因此您无需执行任何操作。

答案 1 :(得分:-1)

在SSRS 2016上,我可以使用

= any(string_to_array(@parameter, ','))

还要确保允许多个值

enter image description here