我正在使用表达式
=IIF(sum(Fields!Target.Value)=0,0,
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100)
但我想要divide(200/0)*100 ="NAN"
,但它会显示#Value Error
答案 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列中的输出不是0
其0.00
。这只是SSRS中的一种格式吗?或那是实际产出?如果0.00
是实际输出,那么您应该在我的答案的报告代码中使用If IsNothing(denominator) Or denominator = 0.00
。而且这也可能是你表达的问题。