我有以下表達式。如何返回0而不是#Error?
=Fields!AvgLOSC4.Value.Split("|"c)(0)
有時它會返回#Error
而不是一個值。如果上述表達式導致錯誤,那麼如何返回0
而不是顯示#Error
?
我有以下表達式。如何返回0而不是#Error?
=Fields!AvgLOSC4.Value.Split("|"c)(0)
有時它會返回#Error
而不是一個值。如果上述表達式導致錯誤,那麼如何返回0
而不是顯示#Error
?
檢查該字段爲NULL
分裂值
=Iif(IsNothing(Fields!AvgLOSC4.Value),"Display NULL",
Fields!AvgLOSC4.Value.Split("|"c)(0))
Split
或IIf
檢查不會爲SSRS工作之前確實對這些不是短路,如果任何一方未能整個表達式錯誤。
你可以用自定義代碼來解決這個問題。與
Function FirstSplit(fieldValue As String) As String
If IsDBNull(fieldValue) OrElse IsNothing(fieldValue) Then
FirstSplit = "0"
Else
FirstSplit = fieldValue.Split("|")(0)
End If
End Function
調用的代碼在單元格中:將以下代碼添加到您的報告
=Code.FirstSplit(Fields!AvgLOSC4.Value)
與生成的數據集:
select AvgLOSC4 = '1|2'
union all select AvgLOSC4 = '1'
union all select AvgLOSC4 = null
可以產生這樣的報告:
您是否曾經解決過這個問題? – 2013-04-12 14:16:59
這不起作用。我仍然得到'#錯誤'。什麼可能導致'.Value'有一個值,但仍然會產生#Error? – DenaliHardtail 2013-04-04 16:53:32