我有一个SSRS报告在该字段中抛出#ERROR#。
我将停机时间与总时间...停机时间/总时间进行比较,以获得所有时间内停机时间的百分比。
原始代码是:
=Sum(Fields!PrevYear_Total_Down_Time.Value)
/
Sum(Fields!PrevYear_Total_Time.Value)
这引发了一个#ERROR#,我认为这是由于" Sum(Fields!PrevYear_Total_Time.Value)"为零或为零,所以我将代码调整为IIF语句:
=IIF(Sum (Fields!PrevYear_Total_Time.Value)=0,0,
IIF(Sum(Fields!PrevYear_Total_Down_Time.Value)=0,0,
Sum(Fields!PrevYear_Total_Down_Time.Value)/Sum(Fields!PrevYear_Total_Time.Value)
)
)
如果我用一个数字替换第二个嵌套的IIF语句,它可以工作并输出我指定的任何数字,但是,这不是我想要的。我想测试零或null,如果Total Downtime为null或0,则返回0。
答案 0 :(得分:0)
通过编写传递这两个值的代码片段然后返回格式化值来解决它。
答案 1 :(得分:0)
另一种方法是在分母中加入另一个 IIF 来说明零:
=IIF(Sum(Fields!PrevYear_Total_Time.Value) = 0, 0, Sum(Fields!PrevYear_Total_Down_Time.Value))
/
IIF(Sum(Fields!PrevYear_Total_Time.Value) = 0, 1, Sum(Fields!PrevYear_Total_Time.Value))