2017-10-16 27 views

回答

3

对WHERE子句进行筛选将限制实际生成报告的结果数量。这应该是更高性能的,因为报告不需要处理太多的数据。

FilterExpression过滤获取到报告的数据。

对于较小的结果集,结果应该可以忽略不计。对于较大的结果集,请使用WHERE子句。

+1

FilterExpression将限制报告中显示的内容,并对内存中的数据进行操作。 WHERE将在RDBMS中工作,并限制从磁盘检索到的内容和报告引擎。 – ebyrob

+0

如果要在报表中的多个对象中使用相同的查询结果,则筛选非常有用。在这种情况下,它可能(取决于具体情况)使用单个查询,然后在组件本身中对其进行过滤。 –

+0

因此,如果WHERE子句提供最佳性能,那么在数据集中使用FilterExpressions有什么意义?我希望SSRS能够在幕后构建适当的查询,例如ORM。 –