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

在BigQuery中将季度至今累计数据转换为日度数据

原始表数据

idvaluedate
120002/11/2022
27002/11/2022
312002/11/2022
115001/11/2022
25001/11/2022
310001/11/2022

期望输出

idvaluedate
15002/11/2022
22002/11/2022
32002/11/2022
115001/11/2022
25001/11/2022
310001/11/2022
解决方案

要实现从季度累计数据计算日度增量,可借助BigQuery的LAG()窗口函数,获取同一id下前一日的累计值后做差值计算,对于每个id的最早日期(无前置数据)直接保留原数值即可。

创建视图的SQL语句如下:

CREATE OR REPLACE VIEW `你的项目名.你的数据集名.daily_increment_view` AS
SELECT
  id,
  -- 当日累计值减前一日累计值,无前一日则取当前值
  value - COALESCE(LAG(value) OVER (PARTITION BY id ORDER BY date), 0) AS value,
  date
FROM
  `你的项目名.你的数据集名.原始表名`
ORDER BY
  date DESC, id;

代码说明

  • PARTITION BY id:按id分组,确保仅计算同一id内的日度增量
  • ORDER BY date:在每个id组内按日期排序,保证LAG()取到的是前一天的累计数据
  • COALESCE(..., 0):处理每个id的最早日期(无前一日数据),此时LAG(value)返回NULL,用0替换后差值等于原value,匹配期望结果
  • CREATE OR REPLACE VIEW:创建或覆盖指定视图,确保逻辑更新后视图同步生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:39:32