我有两个tablix on report,以及一个用于向tablix提供数据的数据集。我的报告参数是多选的,我需要根据该参数中的值筛选结果。
是否有任何区别,如果是,有什么更好的解决方案:
直接在数据集或tablix上创建过滤器?他们两个都会给我相同的结果,但是什么是正确的还是更好的?
答案 0 :(得分:4)
如果有疑问,请尽可能靠近您的数据源。理想情况是过滤SQL Server视图或存储过程中的内容,因为这可以进行优化;下一个最好的事情是过滤SSRS数据集。
在tablix项目中过滤应该是最后的手段,并且报告的运行速度要慢得多。
那里:那是我的penn'orth!
答案 1 :(得分:3)
这个问题没有明确答案可以适用于所有情况。
在您的情况下,由于两个Tablix对象都需要相同的过滤器,我会在数据集级别应用它;这样你就不会在报告中复制代码/逻辑。
甚至可以考虑在生成数据集时应用过滤器,例如:如果它来自存储过程,则实现适当的WHERE
子句以在数据库级别进行过滤。这样就可以减少不必要的数据传输。
我会选择最好的编码和可维护性。在你提出的选项中,数据集过滤似乎是最佳选择。