s-s-rS 报告显示 #value 错误
Posted
技术标签:
【中文标题】s-s-rS 报告显示 #value 错误【英文标题】:s-s-rS report shows #value Error 【发布时间】:2016-01-20 09:26:55 【问题描述】:我正在使用表达式
=IIF(sum(Fields!Target.Value)=0,0,
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100)
但我想要divide(200/0)*100 ="NAN"
,但它告诉我#Value Error
【问题讨论】:
你的问题很不清楚。 您是从头开始构建的,还是使用了内置的表达式创建器。此外,您实际上并没有提出问题。 你不能除以 0。 【参考方案1】:如果您想要另一个条件,您可以在 IIF 语句中嵌套 IIF,这就是您所要求的??
【讨论】:
我认为这应该在评论中。【参考方案2】:你可以在表达式中使用嵌套的 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/s-s-rs/s-s-rs-divide-by-zero-error/
更新:
我注意到在您的图片中,您在 Variance 列中的输出不是 0
而是 0.00
。那只是s-s-rS中的一种格式吗?或者那是实际的输出?如果0.00
是实际输出,那么您应该在我的答案的报告代码中使用If IsNothing(denominator) Or denominator = 0.00
。也可能是你表达的问题。
【讨论】:
以上是关于s-s-rS 报告显示 #value 错误的主要内容,如果未能解决你的问题,请参考以下文章