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 错误的主要内容,如果未能解决你的问题,请参考以下文章

获取 s-s-rS 报告以显示 SQLexception

如何使用 c# 在 asp.net 页面中部署或显示 s-s-rS 报告?

s-s-rS 错误:不支持此类接口

s-s-rS 中的钻取

显示/隐藏列 s-s-rs 不返回结果

s-s-rS join(Parameters!ACCNUMBER.Value, ",") 生成渲染错误