2013-04-04 2 views
0

У меня есть следующее выражение.Как вернуть 0 вместо #Error?

=Fields!AvgLOSC4.Value.Split("|"c)(0) 

Иногда он возвращается #Error вместо значения. Если приведенное выше выражение приводит к ошибке, как вернуть 0 вместо отображения #Error?

ответ

0

Проверьте, если поле является NULL перед разбиением значения

=Iif(IsNothing(Fields!AvgLOSC4.Value),"Display NULL", 
             Fields!AvgLOSC4.Value.Split("|"c)(0)) 
+0

Это не работает. Я все еще получаю '# Ошибка'. Что может вызвать '.Value' значение, но все равно генерировать #Error? – DenaliHardtail

1

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) 

С Dataset вырабатываться:

select AvgLOSC4 = '1|2' 
union all select AvgLOSC4 = '1' 
union all select AvgLOSC4 = null 

Вы можете создать отчет, как:

enter image description here

+0

Вы когда-нибудь решали эту проблему? –

Смежные вопросы