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

Power Query中按年份筛选Patch列最大值行及关联事实表时匹配最新Patch的方法

Power Query中按年份筛选Patch列最大值行及关联事实表时匹配最新Patch的方法

嗨,我来帮你搞定这两个Power Query的需求,分两种场景给你一步步说明:

一、直接筛选出每年Patch值最大的行

这里有两种常用方法,你可以选顺手的来:

方法1:分组+合并查询

  1. 先把你的原始数据导入Power Query(假设这个表叫「源数据」)
  2. 选中「Year」列,点击菜单栏的开始 > 分组依据,设置如下:
    • 新列名:Max Patch
    • 操作:选择「最大值」
    • 列:选择「Patch」
      点击确定后,你会得到一个只有Year和对应最大Patch的汇总表
  3. 回到「源数据」表,点击开始 > 合并查询,选择刚才生成的汇总表作为合并对象,合并依据同时选「Year」和「Patch」列,合并类型选「仅匹配」
  4. 展开合并后的列,只保留你需要的字段(比如「Value」),最后删掉多余的「Max Patch」列,就得到你想要的结果了

方法2:添加自定义列筛选

  1. 在「源数据」表中,点击添加列 > 自定义列,输入以下公式:
    List.Max(Table.SelectRows(#"源数据", (x) => x[Year] = [Year])[Patch])
    
    这个公式的作用是,针对每一行,计算当前Year分组下的最大Patch值
  2. 现在表中多了一个自定义列,筛选「Patch」列等于这个自定义列的行
  3. 最后删除这个自定义列,就完成了筛选

二、合并事实表时仅匹配对应年份的最新Patch

如果要把你的Patch表和事实表关联,只取对应年份的最新Patch数据,推荐先把Patch表处理成汇总表,再合并,效率更高:

  1. 按照上面第一种场景的方法,先把Patch表处理成「每年最新Patch的汇总表」(就是你想要的那3行结果)
  2. 打开你的事实表,点击开始 > 合并查询,选择刚才的汇总表作为合并对象,合并依据选「Year」列,合并类型选「仅匹配」或者「左外部」(根据你的需求)
  3. 展开合并后的列,就能把对应年份的最新Patch和Value数据带到事实表里了

如果不想提前处理汇总表,也可以直接合并后筛选:

  1. 把事实表和原始Patch表按「Year」列合并,选择「左外部」合并类型
  2. 展开合并后的所有列,然后添加自定义列计算当前Year的最大Patch值(和方法2的公式类似)
  3. 筛选展开的「Patch」列等于这个自定义列的值,最后删除多余列即可

备注:内容来源于stack exchange,提问作者AzUser1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:20:26