2015-10-19 50 views
0

我有一個學生數據庫,並且我試圖根據數據透視表中的學生分數範圍顯示不同的指標。具體來說(這是一個簡單的例子,所以不用擔心內容)我想在我的支點,以表明這一點:創建「類別」以在數據透視表上顯示

StudentGPACat | Avg Post-Grad Salary 
3-3.2   | 64,323 
3.2-3.4  | 71,225 
3.4-3.6  | etc 
3.6-3.8  | etc 
3.8-4.0  | etc 

所以我想在我的數據透視表中的行顯示的範圍內學生的平均分落在

爲了產生該指標,現在,我做了兩件事情:

(1)在我的主表添加了一個新列的PowerPivot稱爲[avgGrade],顯示的值[ TableAvgGrade]從每個學生的「成績」表中計算字段(即主表中的每一行)

=CALCULATE([TableAvgGrade], 
    FILTER(Grades,Grades[studentID]=Master[studentID])) 

(2)創建一個新的柱[StudentGPACat] PowerPivot中和式變爲:

=If([avgGrade]<3,"3", 
If([avgGrade]<3.2,"3-3.2", 
If([avgGrade]<3.4,"3.2-3.4", 
If([avgGrade]<3.6,"3.4-3.6", 
If([avgGrade]<3.8,"3.6-3.8","3.8-4.0"))))) 

這種感覺笨重和計算上昂貴的。是否有更簡單的方法來創建這些範圍以用作我的數據透視表中的行?

編輯:做了一些修改,以澄清我的問題 EDIT2:類型

+0

它是一個Excel數據透視表還是一個PowerPivot?你也沒有標記Excel版本。 –

回答

0

你所做的事是創建這類列的適當模式。如果你關心粗糙嵌套的IF(),你可以用一個SWITCH()來替代,它只是嵌套IF()的語法糖,但是你已經發布了所有你需要的東西。

0

在數據透視表(我不知道用的PowerPivot),如果你使用一個數值爲Row Label,你可以右鍵點擊該字段中,選擇Group,定義Starting at值,Ending at價值和By一步,你將很容易得到相同的結果。