2014-03-05 3 views
1

SSRS2012 보고서를 생성 중입니다.중첩 된 행 그룹의 SSRS 테두리

정적 행과 중첩 된 행 그룹이있는 행렬이 있습니다. 부모 그룹을 기반으로하는 행에 상단 및 하단 테두리를 추가하고 싶습니다. 나는 현재 [ProcessCell] 's의 테두리를 얻기 위해 표준 서식을 사용하고 ProcessCell1 (parent) - Name (child)

그것은 작동합니다

[ProcessCell] | [Name] | [Field]| 

내 그룹은 다음과 같이 매트릭스 보인다. [Name]의 테두리에 다른 표현식에있는 표현식을 사용하고 있는데이 표현식이 [Field] 상자에서 작동하지 않습니다. 표현식은 다음과 같습니다.

=IIf(Fields!ProcessCell.Value = Previous(Fields!ProcessCell.Value, "Name") OR Not(Fields!ProcessCell.Value = First(Fields!ProcessCell.Value, "Name")), "Light Gray", "Black") 

이전과 처음의 범위를 변경해 보았지만 작동하지 않았습니다.

내가 점점 오전 오류는, 잘 Tablix와 오늘 정확히 같은 문제가 있었다

답변

1

("텍스트 상자 'Field'에 대한의 borderColor 표현식은 집계 함수에 유효하지 않은 범위 매개 변수가 있습니다" 매트릭스가 아니라 SSRS 2008 R2). Previous() 함수를 제대로 작동시키지 못하고 "텍스트 상자에 대해 같은"BorderStyle 식을 표시하지 않습니다. "라는 오류가 표시됩니다.

대신에 ROW_NUMBER() 분석 SQL 함수를 사용하여 내 결과를 분류하는 새 필드를 데이터 집합에 추가했습니다. 내 보고서의 관련 필드는 UserName, ReportName 및 DatetimeRun (예, 보고서 사용에 대한 보고서)입니다. 나는 이름과 REPORTNAME의 고유 한 각 조합 사이에 표시하기 위해 국경을 원했다, 그래서 난 내 데이터 집합이 필드를 추가 :

ROW_NUMBER() over (partition by UserName,ReportName order by UserName,ReportName) 
as RowNum 

사용자 이름과 REPORTNAME합니다 (Partition by 부분의 필드)의 각각의 고유 한 조합에서 시작 1을 리턴하고 리턴 된 행의 번호를 순차적으로 지정합니다.

=iif(Fields!RowNum.Value = 1,"Solid","None") 

은 새 사용자 이름/REPORTNAME 조합의 시작 부분에 테두리를 표시 :이 사용하는 대신 Previous()을 사용하는 내의 BorderStyle/최고 발현 돌아 가기

.

희망이 도움이됩니다.