首页/数据/数仓建模速查/维度数据来源标记
维度与事实设计149 条

维度数据来源标记

多系统共用同一实体时,维度保留来源标记与合并优先级规则;冲突时按规则裁决,并保留原始来源值便于核对。

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

来源标记是什么

维度数据来源标记指在维表上保留一列(常叫 src_system 或 source_code),记录这一行或这一个属性值来自哪个系统,并配一份合并优先级规则。当客户、商品这类实体同时被主数据、CRM、ERP 与外部导入维护时,同名实体的属性冲突不可避免。来源标记的价值是让冲突可裁决、可追溯:按规则选值,同时把落选的原值留痕备查。

基本信息

标记列src_system / source_code,取值来自已注册的源清单
优先级常见顺序:主数据 > 核心业务系统 > 外部导入
留痕冲突落选的原值另存一列或进冲突明细表
标记粒度可按行标来源,也可按属性列分别标
治理源清单集中登记,新源接入先注册后使用

典型使用场景

  • 多源客户主数据:MDM 与 CRM 都在维护客户等级,需要明确以谁为准
  • 商品资料整合:采购系统与电商后台各有一套商品名称,口径要统一
  • 冲突排查:两个报表同一天同名客户手机号不同,靠来源标记定位到源
  • 系统切换期:新系统逐步接管数据,按来源统计接管进度
  • 质量分摊:按来源统计缺失率与错误率,把责任落到源头
  • 灰度验证:新源小流量接入,按来源对比新旧口径的指标差异

来源分布巡检

来源分布巡检
SELECT src_system,
       count(1) AS rows_cnt,
       sum(case when phone is null then 1 else 0 end) AS phone_null
FROM   dim_user
WHERE  is_current = 1
GROUP  BY src_system
ORDER  BY rows_cnt DESC;   -- 某源行数骤降,先查它是不是同步断了

-- 多源取值不一致清单
SELECT user_id, count(distinct name) AS name_variants
FROM   dim_user
WHERE  is_current = 1
GROUP  BY user_id
HAVING count(distinct name) > 1;

优先级规则示例

来源字段优先级说明
主数据 MDM全属性最高标准口径来源,冲突时以它为准
CRM客户等级、归属销售贴近业务过程,主数据未覆盖时采用
ERP财务编码、结算信息权威但同步频率低,滞后于业务
外部导入仅补空不覆盖质量不可控,只填已有空字段
手工维护白名单字段必须留操作人与时间,便于追溯
来源标记回答的是「这个值是谁说的」,不回答「这个值对不对」,两者要分开处理:前者靠规则裁决,后者靠数据质量校验。冲突原值必须留痕,否则按规则覆盖之后就再也无法核对源端当初给过什么。

易错点

  • 合并无优先级规则:同名实体取值随机,看谁的批次后到就用谁,指标每天漂移
  • 来源标记缺失:出现口径冲突时无法定位责任源,只能逐系统人工比对
  • 把来源标记当作质量结论:来源权威不等于值一定正确,缺了校验会积累错误
  • 新源接入不注册清单:标记值五花八门(crm 与 CRM 并存),按来源分组统计直接失真
  • 优先级规则只写在文档里没落到代码:换人维护后规则失效,历史与新增数据口径不一致

数据来源与参考

  • 主数据与维度整合实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌