数据分析之技术干货业务价值 powerquery 分组排序后取TOP
在电商中,我们要对货品进行分析,由于所有的销售数据都在一起,货品信息也在一起,两个表建立了关系之后,要看每个品类的TOP款有哪些,每个品类的TOP款是什么要怎么做呢?
下面是我做数据的思路:
1、分析需求与明确业务目的(重要)
2、根据需求分析数据源,
3、整理链接数据源,现将所有数据连接在一起,可以做一张宽表,也可以建立模型设置表关系,看自己擅长什么方式。
4、根据目的对数据源用适当的方式进行聚合
5、检查数据准确性
6、表格呈现,呈现的方式要直观符合领导的习惯
7、根据反馈去改正:反馈是很重要的,根据反馈去处理反馈我们才能之后的提升。(重要)
具体的细节下钻我就不展开说了,今天我说一下我工作中的一个常用的分组排序取TOP
我用的工具是powerquery,
在分组之后,我们要对每一个组进行处理分组之后是这个样子
分组就很简单我就不展开说了
分后就是要针对对table列中的每一个分最后的小组进行操作
我的操作就是
1、遍历table列,逐步操作每个表,
2、对于遍历的表我们进行排序,
3、排序后添加索引为排名
4、排名后我们过滤筛选小于21的就是TOP10
= Table.TransformColumns(分组的行, {"table",each let排序表 = Table.Sort(_, {{"支付金额", Order.Descending}}),带索引表 = Table.AddIndexColumn(排序表, "索引", 1, 1),筛选表 = Table.SelectRows(带索引表, each [索引] < 21)in筛选表})
1. 当前实现逻辑
-
核心步骤:
- 按品类分组生成子表(
Table.Group
); - 对每个子表降序排序支付金额;
- 添加索引作为排名;
- 筛选索引
<21
的行(即Top 20)。
- 按品类分组生成子表(
-
代码优势:
- 利用
Table.TransformColumns
逐组处理,逻辑清晰; - 通过索引列确保排名唯一性,避免数据重复导致排名错乱。
- 利用
技术工具类:
Power Query
| M语言
| Table.TransformColumns
| 分组排序
| 索引过滤
业务场景类:
电商货品分析
| 品类TOP款
| 销售数据聚合
| 宽表建模
| 数据透视
分析方法类:
分组处理
| 动态排名
| TOP N筛选
| 数据清洗
| 领导看板