我见过几个例子,但我无法弄清楚我的情况。
我的表达式对来自数据集Total
的字段AutoDeliveryCount
的所有值进行求和。我需要引用数据集,因为我在报告中使用了几个Total
字段。如果存储过程返回null,我如何让表达式返回0而不是空白?
=Sum(Fields!Total.Value, "AutoDeliveryCount")
如果我需要提供更多信息,请告诉我。
答案 0 :(得分:11)
=IIf(IsNothing(Sum(Fields!Total.Value, "AutoDeliveryCount"))=True, 0, Sum(Fields!Total.Value, "AutoDeliveryCount"))
答案 1 :(得分:1)
如果要在整数列中显示0。写Round(Fields!yourfield.Value,2)显示为0.00。如果你的领域是空的。
答案 2 :(得分:0)
另一种选择可能是使用相关单元格的格式属性。例如,如果要显示整数,可以将其格式化为:
#,##0
如果值为null / empty,则显示0。
答案 3 :(得分:0)
我在2017年尝试了这个公式,对我有用:
=IIF(Sum(Fields!Total.Value)=Nothing, 0, Sum(Fields!Total.Value, "AutoDeliveryCount"))
答案 4 :(得分:0)
简单地:
=Sum(Fields!Total.Value, "AutoDeliveryCount") + 0
答案 5 :(得分:0)
从标记的解决方案中:
=IIf(IsNothing(Sum(Fields!Total.Value, "AutoDeliveryCount"))=True, 0, Sum(Fields!Total.Value, "AutoDeliveryCount"))
IsNothing()始终返回true或false,并且IIF()始终传递true或false。因此,“ = True”是多余的。
IIf(IsNothing(Sum(Fields!Total.Value, "AutoDeliveryCount")), 0, ...
工作原理完全相同。
如果Sum(Fields!Total.Value, "AutoDeliveryCount")
返回0怎么办?由于IsNothing()和0的处理方式相同,两种情况下都将返回0。字段为空还是包含数字0并没有什么区别。您将如何处理0和什么都没有之间的差异?