SSRS

2012-03-01 4 views
0

내 쿼리 (soem 샘플 데이터) 다음과 같은 결과를 반환하는 데이터를 표시되지 2005 매트릭스 :SSRS

STUID FirstName LastName DeptID CourseRequested 
1  xxxx  yyyy  2353 Algebra 
1  xxxx  yyyy  2353 Trignometry 
1  xxxx  yyyy  2356 Biology 
1  xxxx  yyyy  2356 Chesmistry 

모든 학생들이 같은이 woule. 따라서 학생은 한 부서에서 여러 과목을 신청할 수 있습니다.

지금, 내 보고서는 다음과 같이 할 :

     2353   2356 
1 xxxx yyyyy   algebra  Biology 
1 xxxx yyyy   Trignometry Chemistry 

그래서, StuID,을 Fname 및 LNAME에 행 그룹과 매트릭스를 사용했다. DepartmentID 및 CourseName의 열 그룹 세부 정보.

그러나 결과 세트에는 '대수와 생물학'이있는 첫 번째 행만 표시됩니다. 두 번째 코스 세트를 반복하지 않습니다. 두 번째 행에 StuID, Fname 및 Lname을 반복 할 필요가 없습니다.

나는 무엇이 내가 worng하고 있는지 알지 못한다. 도와주세요. 행렬을 사용하는 대신 다른 접근법이 있다면 알려주십시오. 그래서 하위 보고서 나 표를 사용해야합니까?

도와주세요.

답변

0

기존 출력은 StuID, Fname, LName 및 DepartmentID로 그룹화됩니다.

(샘플 데이터에서) 이들 각각의 조합에 대해 하나 이상의 CourseRequested가 있습니다. 따라서 보고서는 각 그룹 조합에 대한 첫 번째 값을 반환합니다.

크로스 탭을 원하는대로 포맷하려면 다른 행 그룹화 조건을 추가하여 다른 CourseRequested 값을 별도의 행으로 분할해야합니다. 나는 당신의 SQL 쿼리에서 행 번호 또는 순위에 의해이 일을 제안 - 당신은 당신의 데이터 소스의 SQLServer를 사용하는 가정, 당신의 선택 문에 다음 열을 추가 :

dense_rank() over (partition by StuID, Fname, LName, DepartmentID 
        order by CourseRequested) as RN 

을 - 다음의 조건을 그룹화하여 행에 RN 추가 크로스 탭 및 출력은 필요한대로 형식을 지정해야합니다.

+0

마크 ... 답장을 보내 주셔서 감사합니다. 그것은 매력처럼 작동합니다. – user1243153