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 文件,问题将暂时消失。