【问题标题】:SSRS: How to create pivot table result without blank cells?SSRS:如何创建没有空白单元格的数据透视表结果?
【发布时间】:2014-09-03 09:38:10
【问题描述】:

测试数据

例如,我有如下测试数据。

|Student    |Class     |Score|
|A          |English   |90   |
|B          |Computer  |78   |
|B          |Math      |88   |
|C          |Math      |55   |
|C          |Computer  |86   |
|C          |English   |64   |

您可以创建如下测试数据:

CREATE TABLE Test
([Student] varchar(1), [Class] varchar(8), [Score] int)
;

INSERT INTO Test
([Student], [Class], [Score])
VALUES
('A', 'English', 90),
('B', 'Computer', 78),
('B', 'Math', 88),
('C', 'Math', 55),
('C', 'Computer', 86),
('C', 'English', 64)
;

在 SSRS 中,使用简单查询创建新报告:

SELECT * FROM Test

预期结果

现在,我想在 SSRS 中显示如下结果。因此,数据按学生分组,并列出学生获得的所有课程和分数。这可能吗?

|      A         |      B         |      C         |
|Class     |Score|Class     |Score|Class     |Score|
|English   |90   |Computer  |78   |Math      |55   |
                 |Math      |88   |Computer  |86   |
                                  |English   |64   |

当前状态

我能够通过在 Student 列上添加一个列组来创建如下结果,但不确定下一步是什么。

这是我使用的测试配置。

|      A         |      B         |      C         |
|Class     |Score|Class     |Score|Class     |Score|
|English   |90   |          |     |          |     |
                 |Computer  |78   |          |     |
                 |Math      |88   |          |     |
                                  |Math      |55   |
                                  |Computer  |86   |
                                  |English   |64   |

【问题讨论】:

  • 请添加更多关于你所做的事情的信息。
  • 现在清楚了吗?结果需要按学生列分组。
  • 你按班级分组了吗?
  • 很遗憾地告诉您,目前还不清楚。您使用哪个查询?报告中有哪些控件以及它们是如何配置的。数据结构清晰,但不需要看你如何实现它。
  • @JotaBe 我不知道如何解释它......我所说的所有事情都是 SSRS 的简单步骤。

标签: sql-server reporting-services


【解决方案1】:

现在,我修好了自己。

首先,使用此查询添加一个新数据集。它有一个行号rn,按学生分区。

select *, ROW_NUMBER() OVER (PARTITION BY Student ORDER BY Class) AS rn FROM Test

然后,为Student 添加一个列组,为rn 添加一个带有组标题的行组。在行组标题中,使用 fx =Min(Fields!Class.Value)=Min(Fields!Score.Value) 设置它们。清除 rn 单元格,因为我不想在此处显示它。

这里的最后一个重要步骤是隐藏详细信息行。结果如下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多