2017-06-16 122 views
3

我有一个返回下列数据的查询:表报表生成器

Company Severity SubTotal Total 
A  low   604777  2917023 
K  low   253850  1497324 
E  low   1234336  1234336 
A  high  451630  2917023 
B  high  259880  2106841 
A  med   451630  2917023 
K  med   1243474  1497324 
D  med   1219110  1219110 
C  med   1224336  1224336 
G  med   1224336  1224336 
H  med   1219880  1219880 
B  med   1245461  2106841 
R  med   1219880  1219880 
A  very high 384336  2917023 
F  very high 1224134  1224134 
B  very high 601500  2106841 

我想使用报表生成器,并建立一个表是这样的:

Company  very high high med  low  Total 
A   384336  451630 451630 604777 2917023 
... 

我已经浪费了一整天所有可能的组合,以达到此目的和失败 有人可以指导哪些值应该在Column Groups,Row GroupsValues

另外,我想给背景单元格颜色的某些单元格的值超过一定的阈值

+0

我对Report Builder并不熟悉,但我可以告诉你,您的查询之后是什么是PIVOT子句。另外,我不确定为什么你有'Total'列。它是每个“公司”的重复数据,看起来可以从总结所有小计中推断出来,对吗? – SandPiper

+0

是的,总数可以通过总结来实现。我没有太多的数据,500行,所以我不专注于有最佳的狭窄和查询。另外,将数据安排到我想要的表中将会有很多空单元。 – Adam

+0

我不会在查询中进行调整,SQL的支点是有限的。报表生成器具有更深的旋转能力。 –

回答

1

有人可以引导其值应在Column GroupsRow GroupsValues去 - >我假设你正在使用的表/矩阵向导。在这种情况下:

公司 - >Row Groups

严重性 - >Column Groups

小计 - >Values

我不会用总,而让矩阵总结总

子总数
2

根据您的查询数据(我称之为SourceTable),您可以使用PIVOT子句将数据放入表格形式你以后。这给一试:

SELECT * FROM 
(SELECT Company, Severity, SubTotal FROM My_Existing_Query) AS SourceTable 
PIVOT 
(
    MAX(SubTotal) 
    FOR Severity IN ('very high' AS Very_High, 'high' AS High, 
     'med' AS Medium, 'low' AS LOW) 
) AS PivotTable