看起来您正在使用矩阵,所以这是基于我认为您的数据的样子..
我用它来生成一些示例数据
我创建了一个数据集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 的格式进行整理,我们得到以下输出。