我之前已经问过这个问题,但我现在想从另一种方法做到这一点。
-- load test data
declare @YourTable table(ID char(4),Name char(1),L1 char(1),D1 int,L2 char(1),D2 int,L3 char(1),D3 int)
insert into @YourTable values
('AAAA','C','X',2,'Y',4,null,null),
('BBBB','D','Y',5,'Z',6,null,null),
('CCCC','E','X',3,'Y',6,'Z',9),
('DDDD','F','Z',5,'X',6,'Y',3)
在执行选择此表的查询时看起来像这样:
ID |Name | Label1| Data1 |L2 |D2 |L3 | D3|
AAAA | C | X | 2 | Y | 4 | | |
BBBB | D | Y | 5 | Z | 6 | | |
CCCC | E | X | 3 | Y | 6 | Z | 9 |
DDDD | F | Z | 5 | X | 6 | Y | 3 |
我想在这样的报告中显示:
ID |Name | X | Y | Z |
AAAA | C | 2 | 4 | 0 |
BBBB | D | 0 | 5 | 6 |
CCCC | E | 3 | 6 | 9 |
DDDD | F | 6 | 3 | 5 |
罗恩史密斯亲切地建议使用旋转,如果我有一定数量的标签数据,那就很好用。但是,如果我有更多标签,我将如何在报告中进行此操作?我尝试了列组,但有点迷失,因为我无法对它进行排序。
提前感谢您的帮助。
答案 0 :(得分:1)
首先,我将多个UNION ALL子句添加到数据集SELECT语句中,例如
SELECT ID, Name, Label1 AS Label, Data1 AS Data
UNION ALL
SELECT ID, Name, L2 AS Label, D2 AS Data
UNION ALL
SELECT ID, Name, L3 AS Label, D3 AS Data
然后在Tablix中我会在Label上添加一个列组。列组将显示在Visual Studio的右下角。这包含属性,包括排序顺序。