我有一个参数报告,我试图用来过滤结果。这是我用于过滤器的表达式:
=(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。我检查了这些列,它们具有正确的价值。
似乎第一次运行报告时,它会显示正确的记录。我的问题是“我可以更改过滤器参数并点击”查看报告“按钮以显示基于”新“参数值的结果吗?一旦报告运行,您是否可以在同一数据集上反复使用过滤器?谢谢你的帮助......
答案 0 :(得分:0)
您可以在报表服务器上使用缓存数据集并设置到期时间,然后再单击"查看报表"将触发对数据库的另一个查询。每次点击"查看报告"在该时间范围内,因为存储在报表服务器上的扁平缓存数据将提供报表。
请注意,如果您的参数在生成数据集的SQL查询中使用,则缓存将无用,因为它需要为此新参数重新生成数据集。但是,如果您只是在报告中过滤数据集,那么这将起作用。
有关设置共享数据集和启用缓存的更多信息: