我在ssrs2008矩阵象下面这样:[Max(CVolume)]
如何使用聚集函数来筛选SSRS数据集2008
GroupName Zone CompletedVolume
Cancer 1 7
Tunnel 1 10
Surgery 1 64
ComplatedVolume值由特异性表达<<expr>>
,其等于来
这个矩阵由存储过程填充,如果可能,我不应该改变它。我需要做的是不要显示CompletedVolume为< = 50的数据。我试图去tablix属性并添加一个像[Max(Q9Volume)] >= 50
这样的过滤器,但是当我尝试运行报告时,它说的是aggregate functions cannot be used in dataset filters or data region filters.
我该如何解决这个问题尽可能简单?
请注意,在sql查询中添加where子句并不能解决此问题,因为还有许多其他表使用相同的SP,并且他们需要CompletedVolume < = 50的数据。任何帮助将不胜感激。
编辑:我想要SP上的最大(Q9Volume)值,但发生的事情我从来没有见过。查询是这样的:
Select r.* from (select * from results1 union select * from results2) r
left outer join procedures p on r.pid = p.id
有趣的,这是有一些列我看不会因没有结果1 /结果2也不程序表包括当我运行查询。例如,表中没有像Q9Volume这样的列(result1,result2和procedures),但是当我运行查询时,我在输出中看到了列!这怎么可能?
你试过了:'Where CompletedValume> = 50'?我不明白为什么总和是必要的。 –
@GordonLinoff,OP通过使用SSRS上的聚合表达式来计算CompletedVolume。你提出的建议可以在SP查询中使用'HAVING'子句。 –
使用'Q9Volume> = 50' – JamieD77