如何查询每位客户的最后一次或最初购买日期呢?为了更形象地说明这个问题,在本示例中只选中一位客户,这位客户有多笔交易记录,而最后一笔交易记录为2018年6月24日(见图1.77)。接下来介绍具体操作。
图1.77 查找最后购买值的结果
01 选中【订单日期】列,单击【订单日期】表头旁的 按钮,对其进行降序排列,见图1.78。
图1.78 对【订单日期】列进行降序排列
02 选中【客户ID】列,在右键菜单中选择【删除重复项】选项,见图1.79。
图1.79 删除【客户ID】列的重复项
结果见图1.80,所筛选的结果并非是第一行的结果,而是另外一行的结果。
图1.80 删除重复项后的结果
03 为什么会发生这样的情况呢?留意选择排序后,【订单日期】旁出现的 向下箭头,这表明排序并没有在数据底层发生,而只是停留在视图层面,这是Power Query处理排序的一个特性,为了“固定”排序,需要添加一个Table.Buffer函数将排序结果进行“固定”,见图1.81。完成后去重操作只会保留第一行记录。
图1.81 添加Table.Buffer操作
04 如果觉得以上操作略显麻烦,也可以在排序后添加任意不影响排序的步骤,比如【检测数据类型】,这样也会让排序结果固定下来,见图1.82。
图1.82 插入检测数据类型步骤
05 以上这两种方法都是比较常见的解决方法,因为日期本身也是一种数字类型,所以当对【订单日期】进行最大值聚合的时候,同样也可以得到相同的结果,而且更加便利,见图1.83。
图1.83 通过最大值聚合方式查找最后购买日期