SSRS报告显示#value错误

时间:2016-01-20 09:26:56

标签: reporting-services ssrs-2008 ssrs-2008-r2

我正在使用表达式

=IIF(sum(Fields!Target.Value)=0,0,
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100)

但我想要divide(200/0)*100 ="NAN",但它会显示#Value Error

enter image description here

2 个答案:

答案 0 :(得分:0)

如果你想要另一个条件,你可以在IIF声明中嵌套IIF就是你要问的那个??

答案 1 :(得分:0)

你可以使用嵌套的IIF在表达式中解决这个问题,但对我来说这很麻烦。

这是使用报告代码解决问题的另一种方法。

在菜单中转到报告>报告属性>编码并粘贴以下代码

Public Function Divider (ByVal numerator As double, ByVal denominator As double)
If IsNothing(denominator) Or denominator = 0
  Return "NaN" 
Else
  Return (numerator/denominator) * 100
End If
End Function

现在你可以在你的表达中使用它,就像这样

=Code.Divider(sum(Fields!Achievement.Value),sum(Fields!Target.Value))

注意:您可以更改" NaN"如果您想要另一种方式,则为0。

参考:http://williameduardo.com/development/ssrs/ssrs-divide-by-zero-error/

更新:

我注意到在您的图片中,您在Variance列中的输出不是00.00。这只是SSRS中的一种格式吗?或那是实际产出?如果0.00是实际输出,那么您应该在我的答案的报告代码中使用If IsNothing(denominator) Or denominator = 0.00。而且这也可能是你表达的问题。