创建"类别"在数据透视表上显示

时间:2015-10-19 11:08:40

标签: excel pivot-table excel-2013 powerpivot

我有一个学生数据库,我试图根据学生在数据透视表中的得分范围来显示不同的指标。具体来说(这是一个简化的例子,所以不要担心内容)我想在我的支点中展示这个:

 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]的新列,该列显示了" Grades"中的[TableAvgGrade]计算字段的值。每个学生的表格(即主表格中的每一行)

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

(2)在PowerPivot中创建了一个新列[StudentGPACat],公式为:

=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:输入

2 个答案:

答案 0 :(得分:0)

您所做的是创建此类列的适当模式。如果您关注粗糙嵌套的IF(),可以替换为SWITCH(),这只是嵌套IF()的语法糖,但您所发布的就是您所需要的。

答案 1 :(得分:0)

在数据透视表中(我不知道PowerPivot),如果您使用数值作为Row Label,则可以右键单击该字段,选择Group,定义{{ 1}}值,Starting at值和Ending at步,您将很容易得到相同的结果。