SSRS如何在表列中显示数据

时间:2014-08-19 17:51:32

标签: reporting-services

我有两个字段,一个名为“StatusCode”,一个名称为“Projects”

Status         projects

Active         Project A

Not started    Project B

Active         Project C

如何在表格中以这种方式显示SSRS中的数据?

Active       Not Started

Project A    Project B

Project C

所以我最终做的是创建多个列表(tablix),其中包含过滤器。

(因为只有tablix可以在那里应用过滤器)

感谢您的回答!

2 个答案:

答案 0 :(得分:0)

方法1:SSRS

  1. 更新SQL

    SELECT Project, Status , Row_Number() OVER (Partition BY Status ORDER BY Project) RN FROM ProjStatTbl

  2. 创建matrix

  3. 状态栏目分组

  4. 对新创建的Rank RN进行行分组

    Matrix with Groupings

  5. 仅删除最左边的列而不是关联的组。

    Delete Columns

  6. 在主单元格中放置Project。这是最终矩阵。

    Final Matrix

  7. 瞧!你完成了

    Output

  8. 方法2:SQL
    您可以使用数据透视转换或使用聚合来转置SQL中的列。

    这是SQL语句

    SELECT  
      MAX(CASE WHEN Status = 'Active' THEN Project ELSE NULL END) AS Active
    , MAX(CASE WHEN Status = 'Not Started' THEN Project ELSE NULL END) AS NotStarted
    FROM
      (SELECT Project, Status
          , Row_Number() OVER (Partition BY Status ORDER BY Project) RN
       FROM ProjStatTbl) Y
    GROUP BY RN
    

    现在转换数据后,您可以使用表格来表示数据。

    如果您有更多状态,则需要更新SQL语句或使用动态数据透视来生成列。这是一个链接,显示了转换SQL数据的不同方法。

    Simple way to transpose columns and rows in Sql?

答案 1 :(得分:0)

所以我最终做的是创建多个列表(tablix),其中包含过滤器。

(因为只有tablix可以在那里应用过滤器)

感谢您的回答!