首页/数据/数仓建模速查/维度删除的三态处理
维度与事实设计149 条

维度删除的三态处理

源端删除在数仓通常转成失效标记而非物理删除:保留历史关联能力,同时把删除动作记录为一次属性变更。

数仓建模速查数据更新于 2026-10-13

删除在数仓里的三种情形

源端删除在数仓要区分三种情形:业务上彻底停用、临时下线、以及源端数据本身被误删。常见做法是标记失效并关闭生效区间,而不是物理删除——保留行才能让历史事实继续关联,同时把删除动作本身记录为一次属性变更,便于审计追溯。

基本信息

处理方式标记失效并关闭生效区间
保留价值历史事实仍可关联到当时的维度成员
记录内容删除来源、删除时间、操作批次
例外处理源端误删走数据回滚,不属于维度删除策略
审计要求金融与合规场景必须可追溯,禁止物理删除

典型使用场景

  • 客户注销:历史订单仍需关联到该客户,不能删行
  • 商品下架:下架后不再销售,但历史销量分析要保留
  • 员工离职:历史工时、审批与考核记录仍需关联
  • 门店闭店:闭店期间的零销售额是有效业务事实
  • 合规审计:任何删除动作都要能说明时间与原因

标记失效而非删除

标记失效而非删除
-- 标记失效:保留行、关闭区间、清当前标志
UPDATE dim_customer
SET is_deleted = 1,
    end_date   = :batch_dt,
    is_current = 0
WHERE customer_id = :id
  AND is_current = 1;

-- 下游统计要同时排除已删除成员
-- SELECT count(1) FROM dim_customer WHERE is_current = 1 AND is_deleted = 0;

情形与处理

情形处理方式理由
业务停用标记失效并关闭区间历史事实仍需关联
临时下线按属性变更处理,保留行后续可能重新激活
源端误删回滚上游数据后重跑删除本身是数据缺陷
合规要求删除匿名化处理移除个人标识但保留关联键
物理删除会打断事实与维度的关联:事实行指向的代理键在维度里找不到,关联后直接丢行,聚合数字下滑且难以察觉。
删除标记要参与关联逻辑:若报表只看当前标志而不看删除标记,已停用成员仍会被计入当前有效成员数,指标会偏高。

易错点

  • 直接物理删除:历史事实关联断裂,聚合结果丢行
  • 只标记失效不复盘原因:删除动作无法追溯,审计不通过
  • 下游统计未排除失效成员:当前有效成员数虚高
  • 临时下线也按删除处理:重新激活只能插入新区间,版本无谓增多
  • 删除与迟到数据同时到达:先删后补使同一成员状态反复变化

数据来源与参考

  • 数据仓库工具箱:维度删除策略
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌