2014-10-20 54 views
1

我有以下數據集:SSRS報表 - 餅圖與50,60,70,... 100

0.806400 
0.798166 
0.885300 
1.000000 
0.984850 
0.952900 
0.951200 
0.924050 
1.000000 
0.630500 
0.777000 
1.000000 
0.949200 
0.878400 
1.000000 
1.000000 
0.844800 
0.871400 

爲了簡單起見,我們說的這些都是考試成績。每個考試成績都屬於一名學生。

我想將這些值放在SSRS報告的餅圖中。我希望餅圖按百分比顯示。分數將按百分比分組。

90%-100%

80%-90%

70%-80%

餅圖將顯示這些基團作爲餡餅的切片。然後我會在餅圖中顯示每個部分的出現次數。

使用上面的數據集,預期的結果將是:

90% - 100%  10 
80% - 90%  5 
70% - 80%  2 
60% - 70%  1 

任何想法,我將如何做到這一點?

+0

我只想建議選擇一個不同的T圖表的類型。一個堆積的條形圖(甚至是一個正常的條形圖)將是一個更清晰的顯示數據的方式。 Stephen Few對於原因有一個很好的解釋:http://www.perceptualedge.com/articles/visual_business_intelligence/save_the_pies_for_dessert.pdf – 2014-10-21 00:14:15

回答

0

假設數據以表格名爲#TEMP

SELECT Score 
INTO #temp 
FROM (
SELECT SCORE=0.630500 UNION all 
SELECT 0.777000 UNION all 
SELECT 0.798166 UNION all 
SELECT 0.806400 UNION all 
SELECT 0.844800 UNION all 
SELECT 0.871400 UNION all 
SELECT 0.878400 UNION all 
SELECT 0.885300 UNION all 
SELECT 0.945600 UNION all 
SELECT 0.949200 UNION all 
SELECT 0.951200 UNION all 
SELECT 0.952900 UNION all 
SELECT 0.984850 UNION all 
SELECT 1.000000 UNION all 
SELECT 1.000000 UNION all 
SELECT 1.000000 UNION all 
SELECT 1.000000 UNION all 
SELECT 1.000000 )X 

那麼你就必須制定出分組的數據進入百分位數 - 內選擇不說 - 外選擇剛纔創建的顯示分組

SELECT StartRange 
     ,CAST(StartRange AS VARCHAR)+ '% - ' + Cast(StartRange+10 AS VARCHAR)+ '%'AS RANGE 
     ,Total 
FROM (
     SELECT CAST(CASE WHEN SCORE=1 THEN .9 ELSE SCORE END * 10 AS INT)*10 AS StartRange 
       ,COUNT(*) AS total 
     FROM #temp 
     GROUP BY CAST(CASE WHEN SCORE=1 THEN .9 ELSE SCORE END * 10 AS INT)*10 
    )x 

給出了結果

StartRange RANGE  Total 
60   60% - 70% 1 
70   70% - 80% 2 
80   80% - 90% 5 
90   90% - 100% 10