2016-01-20 156 views
-1

我使用的是表达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

enter image description here

+1

你的问题很不清楚。 – DBedrenko

+0

您是从零开始构建它还是使用内置表达式创建器?你也没有有效地问一个问题。 –

+0

你不能被0除。 – newGuy

回答

0

如果你想另一个条件可以嵌套IIF内IIF声明是,你问什么?

+0

我认为这应该在评论中。 – bot

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/

UPDATE:

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