Report Builder 3.0 多次重新应用过滤器

Report Builder 3.0 Reapply a filter multiple times

我的报告中有一个参数,我正试图用它来过滤结果。这是我用于过滤器的表达式:

=(Parameters!REPORT_FILTER.Value = 6 And Fields!Filter3.Value = 1) OR
(Parameters!REPORT_FILTER.Value = 5 And Fields!Filter2.Value = 2) OR
(Parameters!REPORT_FILTER.Value = 4 And Fields!Filter2.Value = 1) OR
(Parameters!REPORT_FILTER.Value = 3 And Fields!Filter1.Value = 2) OR
(Parameters!REPORT_FILTER.Value = 2 And Fields!Filter1.Value = 1) OR
(Parameters!REPORT_FILTER.Value = 1 And Fields!Filter1.Value = 1 OR    
Fields!Filter1.Value = 2)

用户从下拉参数中选择了一个选项 select 一个选项:

All (value = 1)
Home Group (Value = 2)
Home Branch (Value = 3)
Other Group  (Value =4)
Other Branch (Value = 5)
Shared Services (Value = 6)

查询 select 搜索所有适当的记录,并在 Filter1、Filter2 或 Filter3 列中放入 1 或 2。我检查了这些列,它们的值正确。

似乎第一次报告是 运行,它显示了正确的记录。我的问题是 "Can I change the filter parameter and hit the "View Report” 按钮显示基于 "new" 参数值的结果?一旦报告已经 运行,你可以在同一个数据集上反复使用过滤器吗?感谢您的帮助....

您可以在报表服务器上使用缓存数据集,并在单击 "View Report" 之前设置过期时间将触发对数据库的另一次查询。每次在该时间范围内单击 "View Report" 时,您都会很快收到结果,因为报表服务器上存储的平面缓存数据将提供报表。

请注意,如果您的参数在生成数据集的 SQL 查询中使用,则缓存将无用,因为它需要为这个新参数重新生成数据集。但如果您只过滤报告中的数据集,这将起作用。

有关设置共享数据集和启用缓存的详细信息:

Cache Shared Datasets (MSDN)

Manage Shared Datasets (MSDN)