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

时间:2016-06-14 21:16:16

标签: filter parameters reportbuilder3.0

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

=(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)

用户从参数下拉列表中选择一个选项以选择一个选项:

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

查询选择所有相应的记录,并在Filter1,Filter2或Filter3列中放置1或2。我检查了这些列,它们具有正确的价值。

似乎第一次运行报告时,它会显示正确的记录。我的问题是“我可以更改过滤器参数并点击”查看报告“按钮以显示基于”新“参数值的结果吗?一旦报告运行,您是否可以在同一数据集上反复使用过滤器?谢谢你的帮助......

1 个答案:

答案 0 :(得分:0)

您可以在报表服务器上使用缓存数据集并设置到期时间,然后再单击"查看报表"将触发对数据库的另一个查询。每次点击"查看报告"在该时间范围内,因为存储在报表服务器上的扁平缓存数据将提供报表。

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

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

Cache Shared Datasets (MSDN)

Manage Shared Datasets (MSDN)