如何在rdlc报表表达式中仅乘以非空值

时间:2014-04-24 06:34:59

标签: rdlc

如果在RDLC报表表达式中不为空,则如何将两个值相乘

我正在使用这个

  

= SUM(字段!Quantity.Value *字段!ExclusivePrice.Value)

更改为此,但如果值为null,仍会收到错误

  

= Sum((IIf(Fields!Quantity.Value Is Nothing,0,Fields!Quantity.Value))*(IIf(Fields!ExclusivePrice.Value Is Nothing,   0,字段!ExclusivePrice.Value)))

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在聚合之前,您必须将每个可能的值转换为相同的类型(CDec表示Decimal,CDbl表示Double等)。

例如,您可以像这样修改表达式:

=Sum(IIf(Fields!Quantity.Value Is Nothing, CDec(0), CDbl(Fields!Quantity.Value)) * IIf(Fields!ExclusivePrice.Value Is Nothing, CDbl(0), CDec(Fields!ExclusivePrice.Value)))

这是'压缩'版本:

=Sum(IIf(Not IsNothing(Fields!Quantity.Value * Fields!ExclusivePrice.Value), CDbl(Fields!Quantity.Value * Fields!ExclusivePrice.Value), CDbl(0)))