我的场景是:
我有一个记录集,我已经在SSRS表中分成了4组。它们是:
StartPeriod
--> Area
--> Job#
--> Details一个是有错误的记录数,另一个是该组的总记录数(以便我可以运行百分比)。
例如:
在细节级别,我可能有一个包含4个错误的条目,一个包含6个错误的条目,总共有20条记录。这意味着记录的总数是重复的,这意味着我不能对这个数字求和,否则我将重复计算我的记录总数。
StartPeriod - Area - Job# - Item - Errors - totalRecords
January - 123 - Job3 - item1 - 4 - 20
January - 123 - Job3 - item2 - 6 - 20我可以在Job#级别解决这个问题,因为我可以简单地说Max(num_records)来获得正确的number....however,如果我想聚合到区域级别(或更高),我无法让事情正常工作。我不能做SUM( Max(num_records) ),因为这是没有意义的,而且无论我在SQL中如何安排查询,这也是没有意义的。
我觉得这是一个相当普遍的问题,所以我不确定为什么我会有这么多麻烦。你知道我怎么解决这个问题吗?我希望我已经解释得很清楚了。
PS。我正在使用SSRS 2008R2
发布于 2013-07-31 02:55:14
更好地利用组,数据已存在于您的查询中。
CountRows("Details")
Sum(Errors, "Details")这是假设您在细节级别创建的组称为" details“。
发布于 2013-07-31 02:49:23
在您的查询中尝试如下所示:
declare @totcount int
select @totcount = sum(errors) from your_table
select errors, errors/@totcount as [% of total] from your_table 至于区域:
declare @totcount int
select @totcount = sum(errors) from your_table
select area, sum(errors)/@totcount as [% of total]
from your_table
group by areahttps://stackoverflow.com/questions/17954789
复制相似问题