我使用的是表達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
我使用的是表達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
你可以使用嵌套的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:
我在你的照片發現你在差異列輸出不0
其0.00
。這僅僅是SSRS中的一種格式嗎?或者那是實際產出?如果0.00
是實際的輸出,那麼你應該在我的答案的報告代碼中使用If IsNothing(denominator) Or denominator = 0.00
。而且這也可能是你表達的問題。
你的問題很不清楚。 – DBedrenko
您是從零開始構建它還是使用內置表達式創建器?你也沒有有效地問一個問題。 –
你不能被0除。 – newGuy