【发布时间】:2014-02-08 11:33:19
【问题描述】:
我将 Field_A 除以 Field_B。但问题是有时 Field_A 为 NULL(没有任何值)。我该如何检查?
如果是 Null,我猜结果应该是 0 或 Null。
【问题讨论】:
标签: ssrs-2008 reporting-services
我将 Field_A 除以 Field_B。但问题是有时 Field_A 为 NULL(没有任何值)。我该如何检查?
如果是 Null,我猜结果应该是 0 或 Null。
【问题讨论】:
标签: ssrs-2008 reporting-services
在表达式中使用 IIF(内联 If 语句):
=IIF(<Condition>,<TruePart>,<FalsePart>)
=IIF(Field_A Is Nothing OR Field_B = 0, 0, Field_A/Field_B)
这样,您可以确保 Field_A 不为空且 Field_B 不为零,也可以避免除以零错误。
【讨论】:
#ERROR
最简单的方法是简单地将一个非常小的值添加到潜在的空值/零值 所以:
=IIF(Field_A 什么都不是 OR Field_B = 0, 0, Field_A/(Field_B + .000001))
当值为 null 或零时,这仍然会为您提供 0,但会防止在分母为 null 或零时出现#error
另外:请注意确保您的类型相同;这意味着,如果您的 Field_A 的数据类型是十进制或双精度,请确保将少量 .000001 转换为 CDec(.000001)
我发现确保表达式中的所有类型都相同是避免#Error 消息的关键
【讨论】:
是的,我认为上面“Jammie F”的评论是正确的。如果字段 B 为 0,那么您将得到除以零错误。 你可以使用的是:-
iif(Field_B=0,0,Field_A/Field_B)
【讨论】: