我使用的是表达SSRS报告显示#VALUE错误
=IIF(sum(Fields!Target.Value)=0,0,
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100)
,但我想divide(200/0)*100 ="NAN"
但它告诉我#Value Error
我使用的是表达SSRS报告显示#VALUE错误
=IIF(sum(Fields!Target.Value)=0,0,
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100)
,但我想divide(200/0)*100 ="NAN"
但它告诉我#Value Error
你可以使用嵌套的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/
UPDATE:
我在你的照片发现你在差异列输出不0
其0.00
。这仅仅是SSRS中的一种格式吗?或者那是实际产出?如果0.00
是实际的输出,那么你应该在我的答案的报告代码中使用If IsNothing(denominator) Or denominator = 0.00
。而且这也可能是你表达的问题。
你的问题很不清楚。 – DBedrenko
您是从零开始构建它还是使用内置表达式创建器?你也没有有效地问一个问题。 –
你不能被0除。 – newGuy