【问题标题】:Attemted to divide by zero error in SSRS Expression尝试在 SSRS 表达式中除以零错误
【发布时间】:2017-02-03 14:09:38
【问题描述】:

我在报告中使用了以下表达式

            =IIF((Sum(Fields!Starts.Value)-Sum(Fields!Withdrawn.Value))=0, Nothing,
(Sum(Fields!Starts.Value)-Sum(Fields!Withdrawn.Value))/(Max(Fields!Year1Starts.Value)))

当我运行报告时,我收到以下消息并显示为 #Error

    Warning 1   [rsRuntimeErrorInExpression] 
    The Value expression for the textrun ‘Textbox110.Paragraphs[0].TextRuns[0]’ contains an error: 
Attempted to divide by zero.

我试过了,但得到了同样的错误:

    =IIF((Sum(Fields!Starts.Value) - Sum(Fields!Withdrawn.Value)) = 0, Nothing, 
(Sum(Fields!Starts.Value) - Sum(Fields!Withdrawn.Value))/ 
IIF(Max(Fields!Year1Starts.Value)=0,1,Max(Fields!Year1Starts‌​.Value)))

有人可以帮忙吗?

阿鲁娜

【问题讨论】:

    标签: runtime-error expression ssrs-2008-r2 divide-by-zero iif


    【解决方案1】:

    我试过了,效果很好:

        =IIF(Max(Fields!Year1Starts.Value)=0,0,(Sum(Fields!Starts.Value) 
        - Sum(Fields!Withdrawn.Value))/IIF(Max(Fields!Year1Starts.Value)=0,1,
    Max(Fields!Year1Starts.Value)))
    

    我跟着这个:

    =IIF ( Denominator = 0, Nothing, Numerator / IIF( Denominator = 0, 1, Denominator) )
    

    【讨论】:

      【解决方案2】:

      您必须处理除数并防止它获得 0 作为值。类似的东西:

      =IIf(Fields!SomeField.Value = 0, 0, Fields!SomeOtherField.Value / IIf(Fields!SomeField.Value = 0, 1, Fields!SomeField.Value))
      

      这会将除数中的 0 替换为 1,从而避免此错误。

      【讨论】:

        猜你喜欢
        • 2019-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多