2017-06-16 92 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