Ssrs tablix过滤

时间:2017-03-16 16:37:38

标签: reporting-services filtering

我在ssrs报告中的tablix级别实现了过滤。 Tablix正在使用一个数据集,该数据集使用存储过程从数据库中获取大量记录。 该报告具有参数,其值用于过滤Tablix数据。 第一次执行报告时,它会从存储过程中获取所有数据并将其绑定到tablix,并将所有详细信息绑定到参数默认值设置为select all。 我想知道当用户输入参数值并单击视图报告时,报告是否再次执行该过程,获取整个数据集然后根据输入参数进行过滤? 或者ssrs报告足够聪明,知道第一次获取的数据已经用于过滤Tablix中的数据

1 个答案:

答案 0 :(得分:0)

首先让我们谈谈查询参数和报表过滤器之间的区别。参数将传递到查询中,以便它可以更快地运行并返回目标结果。在事实之后应用过滤器,因此必须运行完整查询,然后报告必须逐行检查记录和检查标准。

除了这些选项,SSRS还提供缓存。这允许您保存查询结果,以便仅在需要时重新运行查询。这是在报表服务器上配置的,而不是在报表属性中配置的。

最佳优化因报告而异。作为一般规则,最好将参数传递给查询/过程,并获取所需的数据。如果速度太慢,请让查询获取所有数据,缓存它,并在报告级别使用过滤器。