除以0时,消除Report Builder 3.0中的#Error

时间:2014-07-16 23:57:56

标签: sql ssrs-2008-r2 reportbuilder

当以下公式除以0时,以下所有三个都返回#Error

=(Sum(Fields!Q2ActDelta.Value))/(Sum(Fields!Q1Actuals.Value))

=IIf(Sum(Fields!Q1Actuals.Value)=0,"",(Sum(Fields!Q2ActDelta.Value))/(Sum(Fields!Q1Actuals.Value)))

=IIf((Sum(Fields!Q1Actuals.Value))=0 Or (Sum(Fields!Q2ActDelta.Value))=0," ",(Sum(Fields!Q2ActDelta.Value))/(Sum(Fields!Q1Actuals.Value)))

我需要做些什么来消除#Error?为什么报表生成器不符合真实条件?

谢谢!

2 个答案:

答案 0 :(得分:6)

这是因为ReportBuilder仍会尝试评估错误路径,即使条件解析为true。以下命令可以解决您的问题。

 =IIf(Sum(Fields!Q1Actuals.Value)=0,0,Sum(Fields!Q2ActDelta.Value)/IIf(Sum(Fields!Q1Actuals.Value)=0,1,Sum(Fields!Q1Actuals.Value)))

答案 1 :(得分:1)

上面的答案缺少一个括号

 =IIf(Sum(Fields!Q1Actuals.Value)=0,0,Sum(Fields!Q2ActDelta.Value)/IIf(Sum(Fields!Q1Actuals.Value)=0,1,Sum(Fields!Q1Actuals.Value)))