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

use*_*080 3 sql reportbuilder ssrs-2008-r2

当下面的公式除以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)))
Run Code Online (Sandbox Code Playgroud)

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

谢谢!!

Rob*_*sen 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)))
Run Code Online (Sandbox Code Playgroud)