首页/数据/数仓建模速查/维度成员拆分
维度与事实设计149 条

维度成员拆分

一个成员实际代表多个实体(如合户账号)时需要拆分:历史事实按可判定归属重分配,无法判定的单独落「未分配」成员。

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

维度成员拆分是什么

维度成员拆分指一个成员实际代表多个实体时需要拆开:典型如合户账号、共享账号、代收代付账户,一个客户号下挂着多个人或多个主体的业务。拆分时历史事实按可判定的信息(子账号、流水摘要、来源单据)重分配到新成员,无法判定的统一落进专门的「未分配」成员,绝不能按比例随意摊派。

基本信息

典型场景合户账号 / 共享账号 / 代收代付
重分配依据可判定的子账号、单据或流水字段
兜底处理无法判定的落「未分配」成员
映射记录用映射表登记旧键到新键的分流关系
旧成员处理置为失效并保留指向新成员的线索
前置条件拆分规则需业务评审确认

典型使用场景

  • 合户结算:一个付款账号对应多个消费主体,需要拆出每个主体的消费额
  • 共享账号:多个员工共用账号下单,按订单所属人重分配
  • 代收代付:平台代收资金需要拆回真实交易对手
  • 风控统计:按真实主体而不是账号统计风险敞口
  • 考核归属:拆分后销售业绩能落到真实责任人

拆分与映射登记

拆分与映射登记
-- 旧成员置失效,有效区间截断到拆分日
UPDATE dim_account SET is_current = 0, end_date = :dt
WHERE account_sk = :old_sk AND is_current = 1;
-- 映射表登记旧键到新键的分流关系,便于历史事实重分配与追溯
INSERT INTO map_account_split (old_account_sk, new_account_sk, split_date, rule_id, alloc_amt)
VALUES (:old_sk, :new_sk, :dt, 'sub_account_match', :amt);   -- 按可判定规则分配,无依据的落未分配成员

拆分处理要点

环节做法风险
归属判定按子账号等可判定字段匹配凭空按比例摊派,无法复核
兜底成员建统一「未分配」成员无归属的事实散落各处无法汇总
历史事实按映射表重分配,不整表改写直接改事实表破坏审计链
旧成员保留失效记录与指向直接删除导致历史事实成孤儿
拆分常伴随代理键重分配:用映射表记录旧键到新键的分流关系,是后续核对与回滚的唯一依据,映射表本身也要有版本与负责人。
拆分后要同步更新依赖该维度的客户数、活跃数等指标口径:成员数会上升,历史趋势需要标注口径变更点,否则会被误读为用户增长。

易错点

  • 历史事实被大规模重分配到新键,事实表整表改写,审计链断裂
  • 拆分规则未经业务评审,归属争议长期悬空,报表反复返工
  • 无归属的事实被平均分摊到各新成员,金额凭空拆分且无法追溯
  • 旧成员直接删除,历史事实变成无主记录,客户数统计忽高忽低

数据来源与参考

  • 主数据管理实践:实体拆分
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌