IIf in Field 表达式 Returns 错误 ssrs2008

IIf in Field expression Returns Error ssrs2008

我的 ssrs 字段表达式中有这个表达式:

iif(Sum(Fields!ActualWeight.Value)<>0 ,
Sum(Fields!ActualWeight.Value *Fields!AchievedPCN.Value)/Sum(Fields!ActualWeight.Value)
,0)

Sum(Fields!ActualWeight.Value) =0Sum(Fields!ActualWeight.Value *Fields!AchievedPCN.Value) =0 return #Error

为什么会这样?我的 ssrs 版本是 2008.

经过多次尝试,我找到了解决方案:

=IIF((CInt(Sum(Fields!ActualWeight.Value))>0 
and CInt(Sum(Fields!ActualWeight.Value *Fields!AchievedPCN.Value))>0),
(Sum(Fields!ActualWeight.Value *Fields!AchievedPCN.Value))/iif(Sum(Fields!ActualWeight.Value)=0,1,Sum(Fields!ActualWeight.Value)),0)

我必须把这个加到分母上:

iif(Sum(Fields!ActualWeight.Value)=0,1,Sum(Fields!ActualWeight.Value)

而不是

Sum(Fields!ActualWeight.Value)