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

Power BI中使用Power Query筛选年/月最大日期对应行的方法

在Power BI中筛选每个年/月日期最大行的实现方法

方法一:Power Query快速筛选(推荐,数据清洗阶段完成)

  1. 打开Power BI,选中目标数据集,点击主页选项卡的编辑查询进入Power Query编辑器
  2. 点击添加列选项卡,选择自定义列,输入以下公式:
    [日期] = Date.EndOfMonth([日期])
    
    将新列命名为是否当月最后一天
  3. 点击是否当月最后一天列的筛选箭头,只勾选True,确定后即可保留每个年月日期最大的行
  4. 选中是否当月最后一天列,右键选择删除,然后点击关闭并上载,替换原数据集

方法二:Power Query分组保留行

如果需要更灵活的分组逻辑(比如按自定义年月规则分组),可以用分组方法:

  1. 进入Power Query编辑器,为日期列生成年月标识:
    • 添加自定义列,输入公式:Date.Year([日期]) * 100 + Date.Month([日期]),命名为年月编码
  2. 点击转换选项卡的分组依据,设置:
    • 分组依据:选择年月编码
    • 新列名:输入分组数据
    • 操作:选择所有行
  3. 添加自定义列,输入公式提取每组的最大日期行:
    Table.Max([分组数据], "日期")
    
  4. 删除年月编码和分组数据列,点击新生成自定义列的展开箭头,选择全部列展开,最后关闭并上载

方法三:DAX创建计算表(建模阶段实现)

如果不想修改原数据集,可通过DAX生成筛选后的新表:

  1. 点击建模选项卡的新建表,输入以下DAX公式(替换原表为你的数据集名称):
    筛选后表 = 
    VAR 年月最大日期 = 
        SUMMARIZE(
            '原表',
            YEAR('原表'[日期]) AS 年份,
            MONTH('原表'[日期]) AS 月份,
            "当月最大日期", MAX('原表'[日期])
        )
    RETURN
        NATURALINNERJOIN('原表', 年月最大日期)
    
  2. 按回车确认,即可得到仅包含每个年月最大日期行的新表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:12:39