Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSR中的IIF返回错误_Reporting Services - Fatal编程技术网

Reporting services SSR中的IIF返回错误

Reporting services SSR中的IIF返回错误,reporting-services,Reporting Services,我有一份SSRS报告,在现场抛出和“错误” 我将停机时间与总时间进行比较…停机时间/总时间,以获得所有时间内停机时间的百分比 原代码为: =Sum(Fields!PrevYear_Total_Down_Time.Value) / Sum(Fields!PrevYear_Total_Time.Value) 这抛出了一个#错误#,我认为这是由于“Sum(Fields!PrevYear_Total_Time.Value)”为零或空,因此我将代码调整为IIF语句: =IIF(Sum (Fields!P

我有一份SSRS报告,在现场抛出和“错误”

我将停机时间与总时间进行比较…停机时间/总时间,以获得所有时间内停机时间的百分比

原代码为:

=Sum(Fields!PrevYear_Total_Down_Time.Value)
/
Sum(Fields!PrevYear_Total_Time.Value)
这抛出了一个#错误#,我认为这是由于“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,如果总停机时间为null或0,返回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))

另一种方法是将另一个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))
可能的重复可能的重复