之前的案例给大家讲解了在数据透视表中如何轻松排序和隐藏 0 值,有的同学问了,同样的需求,如果在 Power Query 中怎么实现?
那么今天就来看一下 PQ 如何多条件排序,以及回撤到上一个步骤。
案例将下图 1 的数据表汇总后排序,要求:
按月和按人汇总,每个月按人的交易总数降序排序;
分别做出不显示 0 值和保留 0 值两个版本
效果如下图 2、3 所示。
解决方案1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中保留默认设置 --> 点击“确定”
表格已上传至 Power Query。
3. 选择菜单栏的“主页”-->“分组依据”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选择“高级”选项
在第一个下拉菜单中选择“姓名”
在第二个下拉菜单中选择“月份”
新列名:输入“总交易数”
操作:选择“求和”
柱:选择“交易数”
* 本例最终要在每个月内,按人排序,本步骤主要用于在排序前按分类汇总,所以此处的分组先用“姓名”或“月份”都无所谓。
5. 再次选择“主页”-->“分组依据”
6. 在弹出的对话框中按以下方式操作 --> 点击“确定”:
选择“基本”
在下拉菜单中选择“月份”
操作:选择“所有行”
7. 将公式栏中 each 后面的“_”替换成 Table.Sort(_,{{"总交易数", Order.Descending}})
有关 PQ 中排序的案例,请参阅:
Excel Power Query 只能按一个条件排序?其实稍微设置一下就行
Excel Power Query 按三个以上的条件依次排序,不好办啊
8. 点击“计数”旁边的扩展按钮 --> 在弹出的对话框中取消勾选“月份”和“使用原始列名作为前缀”--> 点击“确定”
现在按多条件排序已经实现了,接下来再去除 0 值。
9. 点开“总交易数”旁边的筛选钮 --> 在弹出的菜单中取消勾选“0”--> 点击“确定”
10. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
11. 在弹出的对话框中选择“现有工作表”及所需上传至的位置 --> 点击“加载”
绿色区域就是以每个月降序排序,且去除 0 值的表。
有同学问,如果 Power Query 要返回到之前的步骤,怎么实现?
比如本案例中,突然某一天又想要显示 0 值了。
12. 在右侧的“工作簿查询”区域双击该查询
* 如果看不到“工作簿查询”,可以选中 Power Query 表格的任意单元格 --> 选择菜单栏的“查询”-->“编辑”。
13. 进入 Power Query 后,在右侧的步骤中删除最后一步。
* 如果需要删除中间的某一步,那么不能直接删,也必须从最后一步开始依次向上删除。
14. 选择菜单栏的“主页”-->“关闭并上载”,回到 Excel。
0 值又回来了。