2012-07-12 4 views
0

보고서를 작성하고 있으며, 쉼표로 구분 된 문자열을 표의 세 열로 분할해야합니다.보고서 작성기 .rdl 배열 키가 있음을 확인하십시오.

string = 'some text, some text, some text' 

하지만 세 번째 열

=Split(Fields!GLDescription.Value, ", ").GetValue(2) 

이 코드는 발생할 수에 대한 값을 얻으려고 할 때 고통은 항상

string = 'some text, some text' 

그래서이 명 혼수 상태의 예를 가지고 있지 않습니다 열에 "# 오류"메시지가 표시됩니다. 이렇게 길이를 확인하여 해결하려고했습니다.

=IIF(Split(Fields!GLDescription.Value, ", ").Length >= 3, Split(Fields!GLDescription.Value, ", ").GetValue(2), "") 

그러나 여전히 동일한 오류가 발생했습니다. 어레이 키가 있는지 확인하는 방법이 있습니까?

답변

1

앞에서 보았 듯이 SSRS IIf의 단락이 좋지 않습니다. 2 및 3 열 필드에 대해 작동하는 해결 방법을 생각해 볼 수 있습니다.

같은 표현하십시오 :

enter image description here

이 결과를 제공합니다 : 데이터 세트와

=IIf(
    Split(Fields!GLDescription.Value, ", ").Length = 3 
    , Mid(
     Fields!GLDescription.Value 
     , InStrRev(Fields!GLDescription.Value, ", ") + 2 
     , Len(Fields!GLDescription.Value) - InStrRev(Fields!GLDescription.Value, ", ") + 2 
    ) 
    , "No val 3" 
) 

그것은 모든 가능한 상황에 방탄 아니다

enter image description here

하지만, 수도 충분하다 귀하의 데이터.

관련 문제