2011-10-06 86 views
0

我使用SSRS 2008年和尝试计算在我的表矩阵以下百分比:如何计算SSRS Tablix中的百分比行数?

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

所以Last14Days_Ct可以= 1或0。我要总结所有这些整数值。客户端字段是一个VARCHAR,并且可以有多行/客户端。所以我想要做的是计算过去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))) 

而且我对分组域Last14Days_Ct.Value该行!

但问题是,现在当我在ReportViewer中查看它时,它显示2行:当Last14Days_Ct = 1和0.我只想要它出现的行= 1的行。但是如果我在= 1上对该组应用过滤器,它总是显示100%。我该如何正确计算这个值?

回答

0

当您关闭过滤器时,计算显示是否正确?如果是,则打开Last14Days_Ct的组属性,转到可见性,然后选择“基于表达式显示或隐藏”。使用表达式:

=Fields!Last14Days_Ct.Value = 0 

这样的话,你只能查看1个值,但所有的值仍然余地报告,所以在计算数学仍然有效。