数据分析之技术干货业务价值​​ 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. 当前实现逻辑​
  • ​核心步骤​​:

    1. 按品类分组生成子表(Table.Group);
    2. 对每个子表降序排序支付金额;
    3. 添加索引作为排名;
    4. 筛选索引 <21 的行(即Top 20)。
  • ​代码优势​​:

    • 利用 Table.TransformColumns 逐组处理,逻辑清晰;
    • 通过索引列确保排名唯一性,避免数据重复导致排名错乱。

技术工具类​​:
Power Query | M语言 | Table.TransformColumns | 分组排序 | 索引过滤
​业务场景类​​:
电商货品分析 | 品类TOP款 | 销售数据聚合 | 宽表建模 | 数据透视
​分析方法类​​:
分组处理 | 动态排名 | TOP N筛选 | 数据清洗 | 领导看板

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值