报告中的比较如何运作?我尝试了下一个表达式:
=Iif(IsNothing(Fields!COEF.Value), 0, Fields!SUM.Value - Fields!SUM.Value / Fields!COEF.Value)
它永远不会是0.然后当COEF为空时,我已经更改了我的sql查询以使COEF = 0.
=Iif(Fields!COEF.Value = 0, 0, Fields!SUM.Value - Fields!SUM.Value / Fields!COEF.Value)
但它总是通过表达来计算。
答案 0 :(得分:0)
问题是在得到结果之前评估IIf
的真/假部分。但是你可以编写自己的简单函数来克服这个限制。
E.g。 - 在您的报告中 - >报告属性 - >代码
Public Function SafeDiv(n as decimal, d as decimal) as decimal
If d = 0
SafeDiv = 0
Else
SafeDiv= n / d
End If
End Function
然后在你的财产
=Fields!SUM.Value - Code.SafeDiv(Fields!SUM.Value, Fields!COEF.Value)