如何在 Excel Pivot Table 中计算值

How to do calculated values in Excel Pivot Table

我有一个 table 这样的:

Year       Num  Freq.   Exam    Grade   Course
2014    102846  SM              SM      Astronomy 3
2015    102846  12,6    1,7     NC      Astronomy 2
2017    102846  20      11,8    17      Astronomy 2
2015    102846  SM              NC      Defence Against the Dark Arts 4
2015    102846  11      4,5     NC      Herbology 2
2015    102846  15      13,99   14      Herbology 2

我正在尝试按年份和全球平均水平获取每门课程的认可学生(成绩 >= 10)的百分比。 我已经尝试了近 3 个小时来计算字段,但到目前为止,我唯一能得到的是每个学生每年的总和:

我尝试用 = Grade >= 10 做一个计算字段,希望它能给我一个已批准学生的列表,但它给了我 1.

我在这里做错了什么?这是我第一次使用 pivot tables.

我真的建议不要将字符串类型(文本)与数字混合在一起。这是一个可怕的想法,当数据用于计算时会引起很多麻烦(Freq.Grade)。相反,我会使用 0 或一些数值来表示文本。

不推荐,但确实可行 =)

您需要一些虚拟变量来指出哪一行是数字,哪一行是文本。所以我创建了Grade Type。现在,我们可以使用 Grade Type = Number.

仅计算成绩列中有数字的行

我创建了一个 table 数据并添加了列 Grade Type。我用这个公式得到 Grade Type:

=IF(ISNUMBER([@Grade]),"Number","Text")

然后我创建以下措施:

批准学生人数

=COUNTX(FILTER(Table1, Table1[Grade Type]="Number"), 
IF((VALUE(Table1[Grade])>=10),VALUE(Table1[Grade]),BLANK()))

首先,我们筛选应评估的行 (COUNTX(<table>,...))。如果是,则只计算满足 >=10 的行,其中 VALUE() 将字符串数字转换为数字 (COUNTX(...,<expression>)).

学生人数(含年级)

=COUNTX(FILTER(Table1, Table1[Grade Type]="Number"), VALUE(Table1[Grade]))

计算所有有数字的行

已批准(占总数的百分比)

=[Nr of Approved Students]/[Count of Grade]

设置 PowerPivot Table

创建 PowerPivot 并将数据添加到数据模型

然后通过单击您的枢轴 table 然后单击“度量”->“新度量...”来创建一个新度量 填写所有相关数据。

结果应该是这样的: