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

BigQuery:临时场景下的库存余额计算及余额列新增需求

解决方案思路

核心逻辑

库存余额是每日库存变动的累计值,需先计算每日净库存变化,再按日期排序做累计求和,若有初始库存需额外叠加。

具体步骤

  • 第一步:计算每日净库存变动
    将入库、出库转换为统一变动值:入库记为正,出库记为负,公式示例:daily_change = quantity_in - quantity_out(字段名需根据实际表结构调整)。
  • 第二步:用窗口函数计算累计余额
    借助BigQuery的SUM() OVER()窗口函数,按交易日期升序排序,累计每日净变动量。若有期初库存,直接在累计结果上加上该初始值即可。

示例SQL代码

假设表名为inventory_transactions,字段包含transaction_date(交易日期)、quantity_in(入库数量)、quantity_out(出库数量),SQL示例如下:

SELECT
  transaction_date,
  quantity_in,
  quantity_out,
  -- 当日净库存变动
  quantity_in - quantity_out AS daily_change,
  -- 累计库存余额(默认初始库存为0,有期初值则改为 + 期初值)
  SUM(quantity_in - quantity_out) OVER (ORDER BY transaction_date ASC) AS inventory_balance
FROM
  `your-project.your-dataset.inventory_transactions`
ORDER BY
  transaction_date;

扩展场景处理

如果需要按商品维度分组计算库存(多商品库存管理),只需在窗口函数中增加分区条件,示例:

SUM(quantity_in - quantity_out) OVER (PARTITION BY product_id ORDER BY transaction_date ASC) AS inventory_balance

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:03:18