2016-01-20 81 views
-1

我使用的是表達SSRS報告顯示#VALUE錯誤

=IIF(sum(Fields!Target.Value)=0,0, 
(sum(Fields!Achievement.Value)/sum(Fields!Target.Value))*100) 

,但我想divide(200/0)*100 ="NAN"但它告訴我#Value Error

enter image description here

+1

你的問題很不清楚。 – DBedrenko

+0

您是從零開始構建它還是使用內置表達式創建器?你也沒有有效地問一個問題。 –

+0

你不能被0除。 – newGuy

回答

0

如果你想另一個條件可以嵌套IIF內IIF聲明是,你問什麼?

+0

我認爲這應該在評論中。 – bot

0

你可以使用嵌套的IIF解決這個表達式,但對我來說這是相當混亂。

這是另一種使用報告代碼解決問題的方法。

在菜單轉到報告>報告屬性>代碼和粘貼如下

Public Function Divider (ByVal numerator As double, ByVal denominator As double) 
If IsNothing(denominator) Or denominator = 0 
    Return "NaN" 
Else 
    Return (numerator/denominator) * 100 
End If 
End Function 

代碼現在,你可以在你的表達式使用這樣

=Code.Divider(sum(Fields!Achievement.Value),sum(Fields!Target.Value)) 

注意:你可以改變「 NaN「爲0,如果你想要另一種方式。

參考:http://williameduardo.com/development/ssrs/ssrs-divide-by-zero-error/

UPDATE:

我在你的照片發現你在差異列輸出不00.00。這僅僅是SSRS中的一種格式嗎?或者那是實際產出?如果0.00是實際的輸出,那麼你應該在我的答案的報告代碼中使用If IsNothing(denominator) Or denominator = 0.00。而且這也可能是你表達的問題。