2012-10-09 53 views
0

我在其中一個報告字段中使用了以下表達式。SSRS表達式錯誤處理

=領域!Value.Value *(領域!DutyRate.Value/100)

這個工作過程,只要有在字段!DutyRate.Value有效值exprected。

我的問題是Fields!DutyRate.Value可以包含非數值,如「Free」。

這意味着任何包含單詞「Free」的行都會導致#Error。這樣可以,但我想讓SSRS顯示#Error以外的內容。實際上我想顯示「F」代替。

非常感謝

回答

0

您可以使用IIF(內嵌if語句)和IsNumeric函數。

Syntax: IIF(<condition>,<true part>,<false part>) 

=IIF(IsNumeric(Fields!DutyRate.Value),Fields!Value.Value*(Fields!DutyRate.Value/100),"F") 

SSRS Expression Examples

Visual Basic Functions(SSRS表達式中使用VB功能)

+0

恐怕沒有工作。最後,我寫了一個CASE表達式來解決這個問題。 CASE WHEN CustomsTariff.CommodityCode.StandardDuty ='Free'THEN'0.0'ELSE SUBSTRING(CustomsTariff.CommodityCode.StandardDuty,1,3) END DutyRate1。有點囉嗦,但它似乎工作。不管怎麼說,還是要謝謝你。 – Ross