首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS聚合聚合

SSRS聚合聚合
EN

Stack Overflow用户
提问于 2013-07-31 02:36:09
回答 2查看 583关注 0票数 2

我的场景是:

我有一个记录集,我已经在SSRS表中分成了4组。它们是:

代码语言:javascript
复制
StartPeriod 
  --> Area
     --> Job#
        --> Details

一个是有错误的记录数,另一个是该组的总记录数(以便我可以运行百分比)。

例如:

在细节级别,我可能有一个包含4个错误的条目,一个包含6个错误的条目,总共有20条记录。这意味着记录的总数是重复的,这意味着我不能对这个数字求和,否则我将重复计算我的记录总数。

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

发布于 2013-07-31 02:55:14

更好地利用组,数据已存在于您的查询中。

代码语言:javascript
复制
CountRows("Details")
Sum(Errors, "Details")

这是假设您在细节级别创建的组称为" details“。

票数 2
EN

Stack Overflow用户

发布于 2013-07-31 02:49:23

在您的查询中尝试如下所示:

代码语言:javascript
复制
declare @totcount int
select @totcount = sum(errors) from your_table
select errors, errors/@totcount as [% of total] from your_table 

至于区域:

代码语言:javascript
复制
declare @totcount int
select @totcount = sum(errors) from your_table
select area, sum(errors)/@totcount as [% of total] 
from your_table 
group by area
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17954789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档