【问题标题】:SSRS 2005 matrix not showing the dataSSRS 2005 矩阵未显示数据
【发布时间】:2012-03-01 16:25:25
【问题描述】:

我的查询返回以下结果(带有一些示例数据):

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。

我不知道我在做什么。请帮助我。让我知道是否有另一种方法而不是使用矩阵。 所以,我必须使用子报表或表格?

请帮帮我。

【问题讨论】:

    标签: reporting-services matrix grouping


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多