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

Power Query:识别重复Unique ID并保留最新时间条目

Power Query 去重保留最新时间条目方案

原始数据集

Unique IDDateTotal
10025/15/23 6:34 AM9.8
10075/15/23 6:28 AM6.7
10035/15/23 4:01 AM3.2
10095/15/23 3:16 AM4.4
10095/15/23 2:39 AM4.5
10015/15/23 12:59 AM9.9
10055/15/23 12:41 AM10
10045/15/23 12:29 AM7.8
10025/15/23 12:08 AM6.6
10095/17/23 5:40 PM7

需求目标

识别Unique ID列的重复值,仅保留每个ID对应Date列时间最新的条目。


可视化操作步骤

  1. 导入数据到Power Query:点击Excel「数据」选项卡→「从表格/区域」,选中原始数据表格导入。
  2. 设置日期类型:选中Date列→「转换」选项卡→「数据类型」→选择「日期/时间」,确保时间可正确排序比较。
  3. 按Unique ID分组:点击「开始」选项卡→「分组依据」,分组列选择Unique ID,新列名设为LatestEntry,操作选择「所有行」。
  4. 展开分组数据:点击LatestEntry列右侧的展开按钮,仅勾选Date和Total,选择「展开到新行」。
  5. 标记最新时间条目:点击「添加列」选项卡→「自定义列」,输入公式:
    [Date] = List.Max(LatestEntry[Date])
    
    该列会标记当前行是否为对应ID的最新时间条目。
  6. 筛选有效行:选中自定义列→点击筛选按钮→仅勾选true,保留最新时间的条目。
  7. 清理冗余列:选中自定义列和LatestEntry列→右键→「删除」。
  8. 导出结果:点击「关闭并上载」,将处理后的数据导出到Excel。

直接使用M代码

若想快速实现,打开Power Query编辑器后点击「高级编辑器」,替换原有代码为以下内容(注意将Table1替换为你的实际表格名称):

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Unique ID", Int64.Type}, {"Date", type datetime}, {"Total", type number}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Unique ID"}, {{"LatestEntry", each _, type table [Unique ID=Int64.Type, Date=datetime, Total=number]}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "IsLatest", each [Date] = List.Max([LatestEntry][Date])),
    #"Expanded LatestEntry" = Table.ExpandTableColumn(#"Added Custom", "LatestEntry", {"Date", "Total"}, {"Date", "Total"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded LatestEntry", each [IsLatest] = true),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"IsLatest"})
in
    #"Removed Columns"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:54:54