如何在 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 然后单击“度量”->“新度量...”来创建一个新度量
填写所有相关数据。
结果应该是这样的:
我有一个 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.
我真的建议不要将字符串类型(文本)与数字混合在一起。这是一个可怕的想法,当数据用于计算时会引起很多麻烦(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 然后单击“度量”->“新度量...”来创建一个新度量
填写所有相关数据。
结果应该是这样的: