如何使用聚合函数在 ssrs 2008 中过滤数据集

How to use aggregate function to filter a dataset in ssrs 2008

我在 ssrs2008 中有一个矩阵,如下所示:

GroupName   Zone    CompletedVolume 
Cancer      1       7
Tunnel      1       10
Surgery     1       64

ComplatedVolume 值由特定表达式 <<expr>> 得出,等于:[Max(CVolume)]

这个矩阵由一个存储过程填充,如果可能我不应该更改它。我需要做的是不显示 CompletedVolume 为 <= 50 的数据。我尝试转到 tablix 属性并添加像 [Max(Q9Volume)] >= 50 这样的过滤器,但是当我尝试 运行 报告时说 aggregate functions cannot be used in dataset filters or data region filters. 我怎样才能尽可能简单地解决这个问题?

请注意,在 sql 查询中添加 where 子句不会解决此问题,因为有许多其他表使用相同的 SP,并且它们需要 CompletedVolume <= 50 的数据。任何帮助将不胜感激。

编辑:我试图在 SP 上设置 max(Q9Volume) 值,但发生了一些我以前从未见过的事情。查询如下:

Select r.* from (select * from results1 union select * from results2) r 
left outer join procedures p on r.pid = p.id

有趣的是,当我 运行 查询时,我看到有些列既不包含在 results1/results2 中,也不包含在过程表中。例如,表(result1、result2 和过程)中没有像 Q9Volume 这样的列,但是当我 运行 查询时,我在输出中看到了这些列!这怎么可能?

[Max(CVolume)] 小于或等于 50 时,您可以将隐藏行 属性 设置为 True。

Select 行并转到行可见性

Select 根据表达式显示或隐藏 选项并使用此表达式:

=IIF(
Max(Fields!Q9Volume.Value)<=50,
True,False
)

它将显示如下内容:

Note maximum value for Cancer and Tunnel are 7 and 10 respectively, so they will be hidden if you apply the above expression.

如果有帮助请告诉我。