SSRS - 过滤现有数据集

时间:2014-01-15 15:40:59

标签: reporting-services

我有一个使用参数的报告。默认参数默认为包含所有可用值,因此默认情况下报告包含所有可能的数据。

我希望用户能够取消选择参数中的某些值,并刷新报表中的图表,以便他们可以深入查看感兴趣的数据。

但每次刷新报表时,它都会再次运行查询,从而减慢流程。

有没有办法允许用户过滤图表中的数据,而无需重新运行查询?

我确实找到了这个,但似乎他也没有得到解决方案,或者我不明白该解决方案将如何运作。

http://social.msdn.microsoft.com/Forums/en-US/0f905bdb-b8f2-4d9d-ac5b-e85d2f94f0cf/textbox-action-to-filter-existing-dataset-rather-than-rerun-query

1 个答案:

答案 0 :(得分:1)

为了防止查询再次运行,必须执行两个高级步骤:

1)确保您的过滤器(参数)未包含在查询中。无论用户为过滤器选择了什么,查询都必须相同。这是通过将过滤器移动到报告中来完成的。您可以将它们设置为Tablix上的过滤器或显示数据的行组。

2)为数据集设置缓存。最简单的方法是从报告中提取数据集并创建“共享数据集”。当您将其上传到SSRS时,定义数据集缓存:可能将其设置为持续一小时。将报告连接到共享数据集。

这完整的细节可以填写一篇文章,例如http://www.mssqltips.com/sqlservertip/1919/how-to-enable-caching-in-sql-server-reporting-services-ssrs/(对于旧版本的SSRS,但这些概念没有太大变化。)