Power Query基于多列按指定列分组并统计多字段用户数量求助
Power Query 按类别分组多字段计数实现方案
- 导入源数据到Power Query Editor,完成空值、异常值清洗后进入下一步。
- 依次创建所有需要统计维度的条件列:点击顶部「添加列」-「条件列」,按你的统计规则设置判断逻辑,符合统计要求的行赋值为
1,不符合则赋值为0,完成所有维度的标记列创建。 - 执行分组聚合:点击顶部「转换」-「分组依据」,选择「高级」,分组依据项选择你指定的用户类别字段,新增多个聚合项,每个聚合项对应一个之前创建的条件标记列,聚合方式选择「求和」,自定义输出的统计字段名称即可。
- 确认输出结果符合预期后,点击「关闭并上载」导出到表格即可。
如果要更灵活的自定义逻辑,可以直接编辑M代码,参考示例:
let 源 = Excel.CurrentWorkbook(){[Name="你的源数据表名称"]}[Content], // 创建条件标记列,可根据实际需求增删修改规则 新增_付费标记 = Table.AddColumn(源, "付费标记", each if [付费状态] = "是" then 1 else 0), 新增_活跃标记 = Table.AddColumn(新增_付费标记, "活跃标记", each if [近30天活跃] = "是" then 1 else 0), 新增_首购标记 = Table.AddColumn(新增_活跃标记, "首购标记", each if [是否首购] = "是" then 1 else 0), // 按指定类别分组求和 分组统计结果 = Table.Group(新增_首购标记, {"你指定的分组类别字段名"}, { {"付费用户数", each List.Sum([付费标记]), Int64.Type}, {"活跃用户数", each List.Sum([活跃标记]), Int64.Type}, {"首购用户数", each List.Sum([首购标记]), Int64.Type} }) in 分组统计结果
输入数据样例:
预期输出参考:
内容的提问来源于stack exchange,提问作者tony_1611
相关产品推荐
相关产品推荐



