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

PowerQuery:按分组查找首尾记录并计算指标变化率

PowerQuery 计算个体指标时间变化率操作步骤

假设你的数据集包含:个体ID列(比如ID)、观测时间列(比如观测时间)、指标值列(比如指标值),按以下步骤操作:

1. 按个体分组

  • 打开PowerQuery编辑器,选中原始数据,点击主页选项卡的「分组依据」按钮
  • 分组依据选择你的个体ID列,新列名设为「分组数据」,操作选择「所有行」,点击确定

2. 添加自定义列计算变化率

  • 点击添加列选项卡的「自定义列」,在弹出的编辑器里输入以下公式(记得替换成你实际的列名):
    let
        分组表 = [分组数据],
        最早记录 = Table.First(分组表),
        最晚记录 = Table.Last(分组表),
        指标差 = 最晚记录[指标值] - 最早记录[指标值],
        时间差 = Duration.TotalDays(最晚记录[观测时间] - 最早记录[观测时间]) // 可替换为TotalHours/TotalMinutes等
    in
        指标差 / 时间差
    
    • 时间单位说明:如果要按小时计算,把Duration.TotalDays改成Duration.TotalHours,分钟就用Duration.TotalMinutes
    • 处理单条记录的情况:如果有个体只有1条观测记录,可在公式里加判断避免报错:
      let
          分组表 = [分组数据],
          记录数 = Table.RowCount(分组表)
      in
          if 记录数 > 1 then
              let
                  最早记录 = Table.First(分组表),
                  最晚记录 = Table.Last(分组表),
                  指标差 = 最晚记录[指标值] - 最早记录[指标值],
                  时间差 = Duration.TotalDays(最晚记录[观测时间] - 最早记录[观测时间])
              in
                  指标差 / 时间差
          else
              null // 也可以填0,根据你的需求调整
      

3. 整理最终结果

  • 选中「分组数据」列,右键删除
  • 给自定义列重命名,比如改成「指标日均变化率」(根据你用的时间单位调整名称)

前置检查

  • 确认观测时间列是日期/时间类型:如果不是,选中该列,点击转换选项卡的「数据类型」,选择「日期/时间」

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:07:09