SSRS报告显示加载的所有行,然后根据多值文本参数进行过滤

时间:2018-01-22 02:29:01

标签: sql sql-server reporting-services ssrs-2008 sql-server-2014

我创建了一个SSRS报告,该报告从我的数据库中呈现一个表。我创建了一个多值文本参数。我知道我可以用三种方式使用参数:

  • 在数据集查询(index
  • 中使用它
  • 在数据集过滤器中使用它(WHERE col1 IN (@parm)Expression = col1Operator = In
  • 在Tablix过滤器中使用它

问题在于,当我这样做时,在初始页面/报告加载时没有呈现的行,我必须在多值文本参数中输入内容并重新运行报告。

如何在参数为空时显示所有行/记录,否则只显示匹配的行。

2 个答案:

答案 0 :(得分:2)

在数据集中传递一些默认值,因此在页面加载时,报告将呈现为这些默认值,并且它不会要求您第一次传递任何值。

答案 1 :(得分:0)

你可以

  1. 将您的参数的默认值设置为与可用值相同的查询(即,它将选择所有成员)
  2. 将您的数据集查询更新为WHERE (col1 IN(@parm) OR ISNULL(@parm,'')='')
  3. 第一个选项在资源上较重,第二个选项更可取,但您可能必须更新参数属性以允许空白/ NULL和空白默认值。