如何在SSRS表格中计算百分比行



我正在使用SSRS 2008,并试图在我的表格中计算以下百分比:

sum(Fields!Last14Days_Ct.Value) / countdistinct(Fields!Client.Value)

所以Last14Days_Ct可以= 1或0。我要对所有这些整数值求和。Client字段是一个VARCHAR,并且可以有多行/Client。我要做的是计算过去14天内客户的百分比。换句话说,每个客户机都有一个字段"Last14Days_Ct"= 1或0。所以我只想计算一下过去14天内发生的客户百分比。下面是我现在尝试的SSRS公式:

=iif(countdistinct(Fields!Client.Value)=0,0,sum(Fields!Last14Days_Ct.Value)
/iif(countdistinct(Fields!Client.Value)=0,1,countdistinct(Fields!Client.Value)))

我将这行分组到Fields!

但问题是,现在当我在ReportViewer中查看它时,它显示2行:当Last14Days_Ct = 1和0时。我只想让它= 1的那一行出现。但如果我对组on = 1应用滤镜,它总是显示100%。请问我怎样才能正确地计算这个值?

当您关闭过滤器时,计算是否正确显示?如果是这样,那么打开Last14Days_Ct的组属性,转到Visibility,对于"当报表最初运行时",选择"基于表达式显示或隐藏"。使用表达式:

=Fields!Last14Days_Ct.Value = 0

这样,您只查看1个值,但所有值仍然在您的报告范围内,因此您的计算中的数学仍然有效。

最新更新