SSRS 2008-处理除以NULL值的除法

时间:2012-02-20 09:44:10

标签: ssrs-2008 reporting-services

我将Field_A除以Field_B。但问题是有时Field_A是NULL(没有任何值)。我该如何检查?

如果是Null,我猜结果应为0或Null。

3 个答案:

答案 0 :(得分:1)

在表达式中使用IIF(内联If语句):

=IIF(<Condition>,<TruePart>,<FalsePart>)

=IIF(Field_A Is Nothing OR Field_B = 0, 0, Field_A/Field_B)

这样,您确保Field_A不为空且Field_B不为零,以避免除以零错误。

答案 1 :(得分:0)

最简单的方法是简单地将一个非常小的值添加到潜在的空值/零值 所以:

= IIF(Field_A没有或Field_B = 0,0,Field_A /(Field_B + .000001))

当值为null或为零时,这仍然会给出0,但是当分母为null或为零时将阻止#error出现

另外:小心确保您的类型相同;意思是,如果Field_A的数据类型是十进制或双精度,请确保将少量.000001转换为CDec(.000001)

我发现确保表达式中的所有类型都相同是避免#Error消息的关键

答案 2 :(得分:-1)

是的,我认为“Jammie F”上面评论的内容是正确的。如果字段B为0,那么你将得到Divide by zero错误。 您可以使用的是: -

IIF(Field_B = 0,0,Field_A / Field_B)