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

Power Query如何用条件Max语句新增对应Item Number和Movement Type的最大日期列

Power Query保留原行新增分组最大日期列实现方法

可以实现该需求,不需要通过改变原表结构的Group By操作,有两种常用实现方案:


方案1:直接添加自定义列(适合中小数据集)

直接在原表上添加自定义列,输入以下公式即可:

= List.Max(Table.SelectRows(#"Renamed Columns1", (x) => x[Item Number] = [Item Number] and x[#"Movement Type  Name"] = [#"Movement Type  Name"])[Date])

公式逻辑:逐行筛选出全表中与当前行Item Number、Movement Type Name一致的所有数据,再提取这些数据的Date列最大值作为当前行的计算值,所有原始行都会完整保留。

注意:公式中的步骤名#"Renamed Columns1需要替换为你实际的上一步操作的步骤名,列名也要和你表内的实际列名完全匹配,带空格、特殊字符的列名需要用#""包裹。


方案2:分组后合并查询(适合大数据集,性能更优)

如果数据集行数较多,方案1逐行筛选的性能会比较差,可以用分组+合并的方式实现,执行效率更高:

  • 第一步:先执行你原来的Group By操作,得到每个分组对应的最大日期表,步骤代码如下,可命名为#"Grouped Max Date":
    = Table.Group(#"Renamed Columns1", {"Item Number", "Movement Type  Name"}, {{"Max Date", each List.Max([Date]), type nullable date}})
    
  • 第二步:回到原表#"Renamed Columns1",执行合并查询操作,关联键选择Item Number和Movement Type Name两个字段,和刚才生成的#"Grouped Max Date"表做左外部关联
  • 第三步:展开合并后的列,仅勾选Max Date字段完成添加,所有原始行结构不会发生变化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:24:02