查找出总类中前 30% 的人,并计算出在分类中的分布数,必然还有另一种更简单的解法。
案例:
查找出下图 1 中获客数在全公司排名前 30% 的所有人,并计算出每个部门分别占了几个人。
效果如下图 2 所示。
解决方案:
1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中点击“确定”。
3. 选择菜单栏的“添加列”-->“索引列”
4. 在右侧的“查询设置”区域选中最后一个步骤 --> 右键单击 --> 在弹出的菜单中选择“插入步骤后”
5. 在公式栏中输入以下公式:
= Table.AddRankColumn(已添加索引,"排名",{"获客数",Order.Descending})
公式释义:
Table.AddRankColumn 相当于 Excel 中的 rank 函数;
已添加索引:上一个步骤的名称;
"排名":新列的列名;
{"获客数",Order.Descending}:按“获客数”列降序排序
6. 将“索引”列按升序排序。
7. 在查询区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择第二个“复制”
8. 将复制出的查询名称改为“表2”,这样可以便于稍后在公式中引用。
9. 选中“查询”区域的“表2”--> 选择菜单栏的“转换”-->“对行进行计数”
10. 在“查询”区域选中“表1”--> 选择菜单栏的“添加列”-->“自定义列”
11. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
新列名:输入“总人数”
在公式区域输入“表2”
12. 再次添加“自定义列”。
13. 在弹出的对话框的公式区域输入“[排名]/[总人数]”--> 点击“确定”
14. 点开“自定义”列的筛选按钮 --> 在弹出的菜单中点击“数字筛选器”旁边的箭头 --> 选择“小于或等于”
15. 在弹出的对话框的数值区域输入“0.3”--> 点击“确定”
16. 删除“总人数”和“自定义”列。
17. 再次在“查询”区域复制“表1”。
18. 将复制出的查询名修改为“表3”。
19. 选中“表3”查询 --> 选择菜单栏的“主页”-->“分组依据”
20. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
在第一个下拉框中选择“部门”
操作:选择“对行进行计数”
21. 选中“表1”--> 选择菜单栏的“主页”-->“合并查询”
22. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选择“表1”中的“部门”列
在下拉框中选择“表3”--> 选择“部门”列
23. 点开“表3”旁边的扩展钮 --> 在弹出的菜单中仅勾选“计数”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”
24. 删除“索引”列。
25. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
26. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
27. 在右侧的“工作簿查询”区域选中“表1”--> 右键单击 --> 在弹出的菜单中选择“加载到”
28. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
绿色的表格就是想要的效果。