Power Query:获取日期分组下累计值的最后一行数据
解决Power Query中提取每日最后一行累计值的方法
步骤1:分组获取每日最后累计值
先对日期列做分组操作,提取每个日期对应的最后一行累计值:
- 在Power Query编辑器里选中日期列
- 点击「转换」选项卡 → 选择「分组依据」
- 分组参数设置:
- 新列名:比如命名为
每日最后累计值 - 操作:选择「最后一行」
- 列:选中你的累计值字段
- 新列名:比如命名为
这一步会生成一张新表,包含唯一日期和对应日期的最后累计值。
步骤2:合并原表与分组表
把分组后的表合并回原表,添加自定义列展示对应日期的最后累计值:
- 返回原查询表,点击「主页」选项卡 → 选择「合并查询」→「合并查询作为新列」
- 合并参数设置:
- 原表选日期列作为合并键
- 分组表同样选日期列作为合并键
- 连接种类:选择「左外部」
- 展开合并后的列,只保留
每日最后累计值字段,就能让每一行都显示对应日期的最后累计值。
替代方法:用自定义函数直接计算
如果不想走分组合并流程,也可以直接添加自定义列,用M语言公式计算当前日期的最后累计值:
点击「添加列」选项卡 → 「自定义列」,输入以下公式(记得替换成你的实际列名):
List.Last(Table.SelectRows(#"当前查询名", each [日期列名] = [日期列名])[累计值列名])
注意:把#"当前查询名"替换成你当前查询的名称,[日期列名]替换成原表的日期列名称,[累计值列名]替换成你的累计值列名称。
提示:如果数据量较大,分组合并的方法性能优于自定义函数,推荐优先使用分组法。
内容的提问来源于stack exchange,提问作者Cordell Jones
相关产品推荐
相关产品推荐

