根据参数在SSRS中隐藏或显示图表

时间:2012-03-22 18:30:02

标签: charts visibility reporting-services

我明白如果我输入以下内容

=IIf(Parameters!HOURINPUT.Value = "1", true, false)

进入图表可见性字段,只有当用户从可用选项中选择1时才能显示。

需要做的是有24个图表,并且根据参数值一次只显示一个。如果用户选择“全部”作为选项,则显示全部。

我的HOURINPUT参数为用户提供以下选项:1,2,3,4,... 22,23,全部

是否可以决定在表达式中显示哪个图表,并在用户选择All时显示所有图表?或者最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

我会将所有24个图表添加到报表中,然后如上所述设置每个图表的可见性。如果您认为用户可能需要某些特定的图表组合,您也可以使用允许multiple values的参数:这需要对您的可见性表达式进行一些细微的更改。

或者,如果您想获得幻想,可以创建一个返回所选参数的数据集:

--Assuming Multiple selection allowed.
Select 1 As HourNum WHERE 1 in ( @HOURINPUT ) OR 'All' in (@HOURINPUT)
UNION ALL
Select 2 As HourNum WHERE 2 in ( @HOURINPUT ) OR 'All' in (@HOURINPUT)
UNION ALL
  ...

然后使用此数据集创建一个表(或Tablix):添加一个图表,但将= iif表达式放入图表的数据系列中,该数据系列将获取该小时的相应数据。如果所有24个图表在数据和布局上非常接近,这可能会更容易。