SSRS中如何计算各组下的百分比?

问题描述 投票:0回答:1

我想计算纸质和在线组的百分比。总计应该是100%

我有一个列组和行组。列组的标题的表达式如下

=IIF(Fields!SOURCE.Value = "Fax", "Paper Percentage", IIF(Fields!SOURCE.Value = "Web", "Online Percentage", ""))

我目前的结果显示要么是 100%,要么都是 1。(如下所示)

我尝试过使用下面的表达式,但两者都不起作用,正如我所说,显示 1 或 100%

=CountDistinct(Fields!SOURCE.Value) / CountDistinct(Fields!SOURCE.Value,"SOURCE1")
=IIF(Fields!SOURCE.Value = "Fax", 
     Format(Sum(IIF(Fields!SOURCE.Value = "Fax", 1, 0)) / Sum(Count(Fields!SOURCE.Value)) * 100, "N2") & "%",
     IIF(Fields!SOURCE.Value = "Web",
         Format(Sum(IIF(Fields!SOURCE.Value = "Web", 1, 0)) / Sum(Count(Fields!SOURCE.Value)) * 100, "N2") & "%",
         ""))

如何根据他们所属的组来计算这两个百分比?

如果我需要添加更多详细信息,请告诉我。

非常感谢!

sql-server reporting-services
1个回答
0
投票

如果您只是简单地计算行数(因此在本例中您的数据集中实际上有 48307 行),那么您应该能够执行以下操作...

=COUNT(Fields!SOURCE.Value) / COUNT(Fields!SOURCE.Value,"myMonthRowGroup")

其中

myMonthRowGroup
是行组的名称(不是列组)。以上所做的一切都是

COUNT(Fields!SOURCE.Value)
获取当前范围内(即当前行列组中)的行数

COUNT(Fields!SOURCE.Value,"myMonthRowGroup")
获取指定范围内的行数,本例为
Mar-24

的整行
© www.soinside.com 2019 - 2024. All rights reserved.