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