C1 C2 C3 C4 C5 C6 C7 C8 Total **Percentages**
======================================================
R1 6 1 8 8 2 1 1 0 27 **60%**
R2 0 0 0 5 1 1 0 0 7 **16%**
R3 2 0 3 2 0 1 0 0 8 **18%**
R4 2 0 0 1 0 0 0 0 3 **7%**
TTL10 1 11 16 3 3 1 0 45 **100%**
如何计算SSRS中的各行百分比
谢谢。
答案 0 :(得分:1)
如果您没有过滤数据集,可以使用数据集总和来获取总计,并将其用作表达式中的分母。
如果您的表格是一个矩阵, C1 - C8 都来自一个字段,那么您的公式就是:
=Sum(Fields!YourField.Value) / Sum(Fields!YourField.Value, "Dataset1")
如果C1-C8字段位于不同的字段中,您可以使用与总列相同的表达式作为分子,然后除以所有其他字段的SUM。
=Sum(Fields!C1.Value + Fields!C2.Value + Fields!C3.Value + Fields!C4.Value + Fields!C5.Value + Fields!C6.Value + Fields!C7.Value + Fields!C8.Value)
/
Sum(Fields!C1.Value + Fields!C2.Value + Fields!C3.Value + Fields!C4.Value + Fields!C5.Value + Fields!C6.Value + Fields!C7.Value + Fields!C8.Value, "Dataset1"))
答案 1 :(得分:0)
我将使用SQL而不是SSRS。这是我的方法。对于SSRS here是链接。
DECLARE @YourTable TABLE
(
Col INT
,Col1 INT
,Col2 INT
,Col3 INT
)
INSERT INTO @YourTable VALUES
(1 , 20, 10, 15)
,(2 , 30, 12, 14)
,(2 , 22, 2, 4)
,(3 , 3, 10, 15)
,(5 , 5, 14, 14)
,(2 , 21, 32, 4)
SELECT * FROM @YourTable
; WITH CTE AS
(SELECT *,Col+Col1+Col2+Col3 AS SumCol FROM @YourTable)
SELECT *, CAST(SumCol*100.0 / SUM(SumCol) OVER() as DECIMAL(28,2)) FROM CTE
答案 2 :(得分:0)
这是另一种方法:
对于详细信息行中的百分比公式,请使用以下内容:
= Sum(Fields!Total.Value)/ ReportItems!Denominator.Value