在SSRS中平均

时间:2018-12-03 16:07:00

标签: reporting-services expression

在提出此问题之前,我已经拖过每个论坛,因此任何有答案的人都会认真保存我的培根。

我试图获取一列的平均值,但是当我在表达式的开头使用AVG时,我得到的结果值比我期望的要低得多,好像它包含很多“ 0”一样看不到。我可以运行两个表达式来查找有效行数和要平均的总数,但是我无法使用这两个值在任何地方创建单独的表达式。

Link to Google photos pic of SSRS expressions, etc

任何有关此问题的指导都将受到欢迎。

1 个答案:

答案 0 :(得分:0)

它在N/A行中的PE值会导致计算错误。基本上Avg()函数需要一个数字值。因此它不知道如何处理字符串N/A。您必须清除这些值。

转到您的报告属性>代码>自定义代码,然后添加以下代码:

Function ClearNAInInteger(strField as String) As Integer

IF strField = "N/A" Then
      Return 0
Else 
      Return CInt(strField)
End If

End Function

现在像这样调用您的Avg()函数:

=Avg(Code.ClearNAInIngeter(Fields!PrepEffort.Value))