如果值返回为无穷大,则默认为0-SQL Report

时间:2018-10-25 07:37:46

标签: sql-server reporting-services expression

我正在创建一个SQL报表,其中一列是用于计算库存数量的计算。

问题是某些字段可能设置为0,这使我被0除以错误并给出了Infinity的结果。我想总结确实具有结果值的行,但是无穷大值阻止了这种情况的发生。

如果计算结果不是值,如何将值默认为0?

我的表情在下面:

=CDBL((Fields!AVAIL.Value/Fields!pack.Value)/Fields!units.Value)

2 个答案:

答案 0 :(得分:1)

尝试一下。我们基本上只在两个字段都未设置为0时进行计算

store.js

答案 1 :(得分:1)

我想在报告中添加定制代码,下面使用此代码可以简化公式。

Public Function Divider (ByVal Dividend As Double, ByVal Divisor As Double) 
If IsNothing(Divisor) Or Divisor = 0 
Return 0
Else Return Dividend/Divisor 
End If 
End Function

您的公式(将消除#Infinity和#Div / 0错误)将变为

=Code.Divider((Fields!AVAIL.Value,Fields!pack.Value),Fields!units.Value)