有没有办法在查询中查看组的详细信息?

Is there a way to see details for groups in a query?

我需要在 SSRS 中制作一个将以这种格式输出数据的报告:

Person    | DocumentID | Data1 | Data2 | .....
----------------------------------------------
Mr. Smith |            |       |       | 
          | #123021312 |    01 |    04 | .....
          | #132145681 |    07 |    00 | .....
Mr. Black |            |       |       | 
          | #912205112 |    11 |    08 | .....
          | #131135810 |    03 |    05 | .....
..............................................

因此,查询有一种层次结构。有明细记录(关于文件的数据)和组记录(人)。如果我只执行 GROUP BY,我将只能看到组记录,并显示一些聚合信息,例如 Data1 的最大值或文档 ID 的计数。相反,我希望能够同时看到聚合行和详细信息行。

我尝试使用谷歌搜索,但找不到任何关于这在 T-SQL(或 SSRS,就此而言)中是否可行的信息。是吗?

是的,这是可能的....

平面数据

Declare @T TABLE (Person VARCHAR(25),  DocumentID VARCHAR(25), Data1 VARCHAR(25), Data2 VARCHAR(25))

INSERT INTO @T (Person,DocumentID,Data1,Data2) VALUES
('Mr. Smith','#12345678A','01','04'),
('Mr. Smith','#98765432A','02','05'),
('Mr. Black','#12345678B','03','06'),
('Mr. Black','#98765432B','04','07')

SELECT  *
FROM    @T

Tablix 设置步骤

  1. 在包含 SSRS 中每个字段的 tablix 上突出显示数据行。
  2. 用 3 行右键单击现在可见的行 header。
  3. Select 添加群组 > Parent 群组
  4. 在group by下拉select人然后OK
  5. 报告现在将按人员列分组。

如果您不想在分组右侧显示人员列,只需删除该列即可。