【发布时间】:2015-06-16 10:54:10
【问题描述】:
我正在研究 SSRS 2008。一个简单的 tablix,有一个行组(产品)和一个列组(月),在行和列的交叉点是数据(销售数量)。现在我添加一个总行,等于每个月的总和(销售额)。我还添加了一个总列,它等于每个产品的总和(销售数量)。在总行/列的交点处,该值是所有产品和所有月份的销售数量的总和。现在我想将其更改为所有产品的总数,但除上个月外的所有月份。例如。有产品 1、2、3 和第 1、2、3 个月。我想要该单元格中产品 1,2、3 和 1,2 月的总销售额。怎么做?像这张图片,在右下角,应该有 6 个(2 月和 1 月)。
---------更新,添加了创建此报告的脚本,所以也许有人可以尝试一下。
数据集:
select 'Jan' as mon, 'p1' as prod, 1 as id
union all
select 'Feb' as mon, 'p1' as prod, 1
union all
select 'Mar' as mon, 'p1' as prod, 1
union all
select 'Jan' as mon, 'p2' as prod, 1
union all
select 'Feb' as mon, 'p2' as prod, 1
union all
select 'Mar' as mon, 'p2' as prod, 1
union all
select 'Jan' as mon, 'p3' as prod, 1
union all
select 'Feb' as mon, 'p3' as prod, 1
union all
select 'Mar' as mon, 'p3' as prod, 1
报告定义:
有一个行组(prod 上的组),一个列组(mon 上的组)。 实际上,我可以在 T-SQL 中做到这一点,方法是在没有上个月的情况下计算总计,然后将其加入主数据集。但只是想知道仅通过 SSRS 是否可以实现。
【问题讨论】:
-
将适当的 reportItem 值加在一起。
-
我想不出来到底是怎么回事。能详细点吗?
-
"7:避免在 SSRS 报表级别计算字段 如果报表中有计算字段,那么最好在查询级别而不是在报表级别创建它们,因为数据库可以更好处理计算。这种方法还将减少报表服务器上的报表处理负载和易于维护。 mssqltips.com/sqlservertip/3659/…