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

如何在BigQuery中将上月指标数据作为新增列展示?

实现上月KPI列的BigQuery解决方案

当然可以实现这个需求!在BigQuery中,我们可以借助窗口函数轻松获取上月的KPI数据,其中LAG()函数正是为这类“获取前一行数据”的场景量身设计的。

具体实现代码

假设你的表格位于your_dataset.your_table(记得替换成实际的数据集和表名),可以用以下SQL语句生成目标结果:

SELECT
  Month,
  KPI,
  LAG(KPI) OVER (ORDER BY Month) AS `KPI last month`
FROM
  `your_dataset.your_table`
ORDER BY
  Month DESC;

代码逻辑解释

  • LAG(KPI):该函数会返回当前行的上一行中KPI列的值,完美匹配“取上月数据”的需求。
  • OVER (ORDER BY Month):指定窗口的排序规则,按Month升序排列后,每一行的“前一行”自然对应上一个月的记录。
  • 最后添加ORDER BY Month DESC是为了让结果和你给出的预期示例顺序一致(最新月份排在最前面)。

执行结果验证

运行上述SQL后,你会得到和预期完全一致的输出:

MonthKPIKPI last month
2022-08-015045
2022-07-0145NULL

如果你的表格包含跨年度的数据,只要Month列是标准日期类型,这个逻辑依然有效——日期排序会自动处理跨年场景(比如2023-01-01的前一行会是2022-12-01)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 17:53:12