SSRS 如何按外部组行摘要划分行结果
SSRS How to Divide row results by outside group row summary
我觉得这应该很容易,但我想不通。
[结果查看]
这在逻辑上是我认为应该起作用的:
=(ReportItems("CustCounts2").value/ReportItems("RowTotal2").value)
但是 RowTotal2 是一个外部组,不会呈现。
看起来你在使用矩阵,所以这是基于我认为你的数据的样子..
我用它来生成一些样本数据
我创建了一个数据集 DataSet1
,并将以下内容作为数据集的查询
DECLARE @t table(office varchar(10), EstimateStatus varchar(10), Counts int)
INSERT INTO @t VALUES
('Office A', 'Loss', 92),
('Office A', 'Win', 971),
('Office B', 'Loss', 50),
('Office B', 'Win', 500)
SELECT * FROM @t
然后我添加了一个矩阵,添加office作为行组,EstimateStatus作为列组,最后算作数据。然后我添加了行组和列组的总计。
最后我删除了生成的最后一列(因为这是总百分比列,您的设计中没有)。
为了清楚起见,我将行组重命名为 GrpOffice
,如您所见
设计看起来像这样
在办公室级别的百分比列中,我使用了以下表达式
=SUM(Fields!Counts.Value)/SUM(Fields!Counts.Value, "GrpOffice")
此读取获取该行的计数总和(即使只有 1)并将其除以整个组的计数总和 "GrpOffice"
。请注意,此名称必须用引号引起来并且区分大小写。
对于总行我使用了类似的表达式..
=Sum(Fields!Counts.Value) / Sum(Fields!Counts.Value, "DataSet1")
读取当前范围内的计数总和(在本例中为总列组)并除以整个数据集的计数总和 "DataSet1"
在这些单元格上使用 p2
格式进行整理,我们得到以下输出。
它有 .Data 文件大小的东西。当它超过一定的限制错误开始出现。删除该文件将强制项目重新创建 .data 文件,问题将暂时消失。
我觉得这应该很容易,但我想不通。
[结果查看]
这在逻辑上是我认为应该起作用的:
=(ReportItems("CustCounts2").value/ReportItems("RowTotal2").value)
但是 RowTotal2 是一个外部组,不会呈现。
看起来你在使用矩阵,所以这是基于我认为你的数据的样子..
我用它来生成一些样本数据
我创建了一个数据集 DataSet1
,并将以下内容作为数据集的查询
DECLARE @t table(office varchar(10), EstimateStatus varchar(10), Counts int)
INSERT INTO @t VALUES
('Office A', 'Loss', 92),
('Office A', 'Win', 971),
('Office B', 'Loss', 50),
('Office B', 'Win', 500)
SELECT * FROM @t
然后我添加了一个矩阵,添加office作为行组,EstimateStatus作为列组,最后算作数据。然后我添加了行组和列组的总计。
最后我删除了生成的最后一列(因为这是总百分比列,您的设计中没有)。
为了清楚起见,我将行组重命名为 GrpOffice
,如您所见
设计看起来像这样
在办公室级别的百分比列中,我使用了以下表达式
=SUM(Fields!Counts.Value)/SUM(Fields!Counts.Value, "GrpOffice")
此读取获取该行的计数总和(即使只有 1)并将其除以整个组的计数总和 "GrpOffice"
。请注意,此名称必须用引号引起来并且区分大小写。
对于总行我使用了类似的表达式..
=Sum(Fields!Counts.Value) / Sum(Fields!Counts.Value, "DataSet1")
读取当前范围内的计数总和(在本例中为总列组)并除以整个数据集的计数总和 "DataSet1"
在这些单元格上使用 p2
格式进行整理,我们得到以下输出。
它有 .Data 文件大小的东西。当它超过一定的限制错误开始出现。删除该文件将强制项目重新创建 .data 文件,问题将暂时消失。