隐藏一些图表并在一个报表中显示其他图表

时间:2012-04-11 22:14:53

标签: oracle reporting-services charts ssrs-2008

我有一份包含24张图表的报告,每天一小时一张。用户可以根据下拉菜单选择显示一个,一个或所有图表。下拉列表与允许多个值的参数相关联。见下文:

Untitled

问题在于,如果用户从下拉列表中选择一个或几个小时,则所有图表都显示,并且所选择的图表会提供数据,而其他人则说“没有数据可用”。

目前,对于每个图表,如果在下拉列表中选择了值,我已添加以下内容以显示数据:

=Switch(Parameters!HOURINPUT.Value(0) = "0", false)

有没有办法隐藏用户未从下拉列表中选择的图表?

隐藏图表看起来更好看,只看到选择的图表而不是一个空白框,其中显示“没有数据可用”。

更新:

不止一个参数。

Capture

1 个答案:

答案 0 :(得分:1)

假设图表之间的唯一差异是指定的一天中的小时,那么我建议:

  • 在报告中添加一个新数据集,其值为0到23(在输入的HOURINPUT参数中选择),例如:with cte as (select 0 n union all select n+1 n from cte where n < 23) select n report_hour from cte where n in (@HOURINPUT)
  • 向报表添加新的Tablix,仅包含一个详细信息单元格,并绑定到新数据集。
  • 将其中一个现有图形移动到新表格的详细信息单元格中,使其成为子报表,替换图表中所有硬编码时间参考,并引用新数据集中的report_hour值。
  • 然后您可以删除其他23个图表。

除了确保图形仅显示所选时间之外,这还应简化报告的未来维护,因为图形所需的任何更改只需输入到一个图形(而不是全部24个)

相关问题