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

埃里·巴尔坎利(Eray Balkanli)

我在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

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

亚历杭德罗祖莱塔

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

选择行并转到“行可见性”

在此处输入图片说明

选择基于表达式选项显示或隐藏,然后使用以下表达式:

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

它将显示如下内容:

在此处输入图片说明

请注意,“癌症”和“隧道”的最大值分别为7和10,因此如果应用上述表达式,它们将被隐藏。

让我知道是否有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章