You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Query中按trip_id分组识别stop_sequence最大值行

自定义列表达式方案

根据不同工具场景,对应的实现表达式如下:

SQL 环境

使用窗口函数直接实现,无需额外分组聚合:

stop_sequence = MAX(stop_sequence) OVER (PARTITION BY trip_id)

原理:PARTITION BY trip_id 按行程ID分组,MAX(stop_sequence) OVER() 计算每组内的最大站点顺序值,将当前行的站点顺序与该最大值比较,相等则返回TRUE,否则返回FALSE。

Excel 环境

普通公式(下拉填充生效)

=B2=MAXIFS(B:B,A:A,A2)

动态数组公式(自动溢出全部结果)

=BYROW(A2:A10,LAMBDA(row,B2:B10=MAXIFS(B:B,A:A,row)))

原理:MAXIFS 根据当前行的trip_id筛选出对应组的最大站点顺序,再与当前行的站点顺序做比较。

Power Query 环境

直接自定义列(适合小数据集)

[stop_sequence] = List.Max(Table.SelectRows(#"上一步骤名称", (r) => r[trip_id] = [trip_id])[stop_sequence])

高效分组合并方案(适合大数据集)

  1. 按trip_id分组,新增max_stop列存储每组最大站点顺序:
    Table.Group(#"上一步骤名称", {"trip_id"}, {{"max_stop", each List.Max([stop_sequence]), Int64.Type}})
    
  2. 将分组后的表与原表按trip_id合并
  3. 添加自定义列:
    [stop_sequence] = [max_stop]
    

内容的提问来源于stack exchange,提问作者Yash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:48:14