首页/数据/数仓建模速查/SCD 批量窗口与同批变更合并
维度与事实设计149 条

SCD 批量窗口与同批变更合并

一批处理多天变更时,对同一自然键只保留窗口内最后状态并统一生效日期,避免同一批次生成多行版本。

数仓建模速查数据更新于 2026-10-12
合并按自然键取末条
生效日统一取批次日
顺序row_number 取 rn=1

窗口取末条

窗口取末条
SELECT * FROM (
  SELECT s.*, row_number() OVER (PARTITION BY customer_id ORDER BY update_ts DESC) AS rn
  FROM stg_customer
  WHERE update_ts >= :w_start AND update_ts < :w_end
) t WHERE rn = 1;
若业务要求「一天一版本」,则按天分桶推进,并接受多版本形态。

易错点

  • 同批多行逐条处理,出现同一生效日的多个版本
  • 事件时间与批次时间混用,区间互相嵌套

数据来源与参考

  • 数仓实践:批次化维度加载
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌