2012-01-03 2 views
2

기존 데이터 소스 및 데이터 세트를 사용하여 SSRS 보고서를 사용자 정의하고 있습니다. DataSet 정의를 편집 할 수 없으므로 (사용 권한이 없으며 가져올 수 없음) 제공된 데이터로 작업해야합니다. 내 문제는 약간의 데이터가 약간 깨져 있다는 것입니다. 나는 "반복"텍스트 열 그룹 열을 시도하고있어,하지만 같은 데이터를 포함SSRS에서 제로 패드 번호

Iteration 01 
... 
Iteration 09 
Iteration 1 
Iteration 10 
Iteration 11 
.... 
Pending Scope 

은 "반복 한"필드가 중간에 정말 나를 엉망입니다. 어떻게 이것을 집합의 시작 부분으로 옮길 수 있습니까? 아니면 이상적으로 Iteration 01과 병합 하시겠습니까? 나는 SQL에서 그것을 할 수없고, 사소한 "숫자 형식"이 아니기 때문에 형식을 적용 할 수는 없다.

그룹 &은 위의 데이터를 올바르게 표시 할 수 있으며 왼쪽에 숫자가 제대로 채워져 있습니까?

답변

2

여러 가지 방법이 있지만 수신 데이터의 세부 정보에 따라 달라집니다. (이것은 단지 가볍게 테스트되었습니다.)

Function ParsedTitle(Title As String) as String 
    Dim s as String 
    s = TRIM(Right(Title,2)) 
    Dim num as Integer 
    If Len(Title) < 2 Then 
     return Title 
    End If 
    If Not Integer.TryParse(s, num) Then 
     return Title 
    End If 
    Return TRIM(LEFT(Title, Len(Title)-2)) + " " + num.ToString("00") 

End Function 

은 다음이 될 수있는 필드에 식을 설정 : 질문의 샘플이 상당히 완료되면 그때는 보고서에 일부 포함 된 코드를 삽입 할

=Code.ParsedTitle(Fields!Title.Value) 
+0

커서 테스트를 통해이 기능을 확인할 수 있습니다. 나는 실제로 비슷한 접근법을 취하지 만 2 개의 계산 된 필드를 사용했다. 텍스트는 "Iteration ##"또는 "Pending Scope"일 것이므로, 방금 MID를 사용하여 적절한 텍스트 비트를 찾습니다. 두 번째로, "반복"& LEFT ("000", LEN ([첫 번째 열]) 및 [첫 번째 열] 행을 따라 작업을 수행했습니다. – jklemmack