SSRS 2005矩阵未显示数据

时间:2012-03-01 16:25:26

标签: reporting-services matrix grouping

我的查询返回以下结果(使用soem示例数据):

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

这对所有学生来说都是这样的。因此,学生可以在一个部门申请多门课程。

现在,我希望我的报告看起来像这样:

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

所以,我在StuID,Fname和LName上使用了一个带有行组的矩阵。 DepartmentID上的列组和详细信息上的CourseName。

但是,结果集只显示了第一行的“代数和生物学”。它没有重复第二套课程。我不需要重复第二行的StuID,Fname和Lname。

我不知道我在做什么。请帮助我。如果有其他方法而不是使用矩阵,请告诉我。 那么,我必须使用子报告或表吗?

请帮帮我。

1 个答案:

答案 0 :(得分:0)

您的现有输出按StuID,Fname,LName和DepartmentID分组。

对于这些的每个组合(在示例数据中),您有多个CourseRequested。因此,报告返回每个组合的第一个值。

要根据需要格式化交叉表,需要添加另一个行分组条件,以将不同的CourseRequested值拆分为单独的行。我建议你在sql查询中按行号或等级执行此操作 - 假设您使用SQLServer作为数据源,请将以下列添加到select语句中:

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

- 然后将RN添加到交叉表中的行分组条件,输出应根据需要进行格式化。