reporting-services - 除以零时,如何消除 SSRS 表达式上的#error?

标签 reporting-services ssrs-2008

在我的 SSRS 报告中除以零时,我试图消除 #error。我有以下表达式仍然给出#error

=IIf(IsNothing(Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models")),
88 , Fields!QTY_AVL.Value * 100 / 
Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models"))

但是,如果将/切换为 * ,如下所示,我正确地得到了值 88

=IIf(IsNothing(Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models")), 
88 , Fields!QTY_AVL.Value * 100 * 
Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models"))

在这两种情况下,我得到的正确值是查找值 > 0

(Fields!QTY_AVL and Fields!Stock come from different sources)

我是否遗漏了一些明显的东西?对此的任何见解都非常感谢。

最佳答案

如果您转到报告属性,然后单击代码,则可以添加安全分隔函数,然后在表达式中将其引用为 CODE.SafeDivide(Value1, Value2),并根据需要添加参数。

此函数将返回 0 而不是显示#error 消息。

Public Function SafeDivide(ByVal Numerator As Decimal, ByVal Denominator As Decimal) As Decimal
    If Denominator = 0 Then
        Return 0
    End If
    Return (Numerator / Denominator)
End Function

关于reporting-services - 除以零时,如何消除 SSRS 表达式上的#error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345926/

相关文章:

reporting-services - SSRS 报告未显示线条

reporting-services - 在Microsoft Reporting Services中创建计算的行总和

reporting-services - SSRS 堆积条形图标签位置

css - 在 SSRS 中设置默认虚拟目录列表样式的最佳方式是什么?

ssrs-2008 - 与多个 SSRS 报告共享参数

reporting-services - 如何将下拉列表值填充到 ssrs 报告的文本框中

reporting-services - FetchXml 条件下的“年份”运算符

reporting-services - 无论如何每天都要更改电子邮件订阅的正文?

layout - 更改报表中间的页面布局 (SSRS)

reporting-services - SSRS 2008 问题中的向下钻取技术