如果在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)))
提前感谢您的帮助。
答案 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)))