首页/数据/数仓建模速查/分类体系维度:多套分类对照
维度与事实设计149 条

分类体系维度:多套分类对照

同一种业务对象常有多套分类(内部类目、行业类目、平台类目):建议保留「业务主分类」,其他分类做成对照表按需 join。

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

分类体系维度是什么

同一种业务对象往往同时存在多套分类:企业内部类目、行业标准类目、电商平台类目,层级与边界都不一样。推荐做法是选定一套业务主分类进主维,保证分析口径唯一;其他分类做成对照表(映射表)按需 join。当两套分类是多对多关系时,必须用桥接表,把第二套分类冗余进主维会直接造成金额重复计数。

基本信息

主分类进主维,保证每个成员唯一归属
其他分类独立对照表,按 taxonomy_type 区分
映射关系一对一 / 一对多 / 多对多
多对多处理必须用桥接表,禁止冗余进主维
层级维护主分类层级进维,对照分类保留原层级
版本管理分类调整(类目合并、新增)保留版本

典型使用场景

  • 对外报表:按内部主分类汇总,口径稳定可控
  • 行业对标:把内部类目映射到行业类目,与外部数据比对
  • 平台运营:同一商品映射到平台类目做站内流量分析
  • 采购分析:按物料分类汇总采购额,多套分类各用其场景
  • 类目治理:发现映射缺失或错配的商品,推动补全

主分类与对照表查询

主分类与对照表查询
SELECT f.cat_key, sum(f.amount) AS amt
FROM fact_order f
GROUP BY f.cat_key;   -- 主分类已进主维,直接汇总即可
SELECT m.target_cat, sum(f.amount) AS amt
FROM fact_order f
JOIN dim_taxonomy_map m ON f.cat_key = m.src_cat_key
WHERE m.taxonomy_type = 'industry'   -- 切到行业分类口径
GROUP BY m.target_cat;
SELECT m.target_cat, sum(f.amount) AS amt
FROM fact_order f
JOIN bridge_cat_multi m ON f.cat_key = m.src_cat_key   -- 多对多走桥接表
WHERE m.taxonomy_type = 'platform'
GROUP BY m.target_cat;

映射关系与做法

映射关系实现方式注意点
一对一对照表一列即可直接 join,无重复风险
一对多对照表多行汇总时一个源类目进多个目标类目
多对多桥接表 + 权重需业务规则决定权重或主次
主分类的选择标准是「内部口径稳定、层级完整、有人负责维护」,而不是「看起来最新」;被选为主分类的那套要写进模型文档,其他分类的映射关系由业务方确认签字。
对照表要覆盖到最小粒度:如果只在二级类目做映射,一级类目的报表就只能靠汇总推断,容易出现上下级加总不一致。

易错点

  • 两套分类是多对多却直接冗余进主维,汇总金额被放大且无法察觉
  • 没有明确的业务主分类,两张报表各按一套分类出数,总量对不上
  • 对照表存在一对多映射但按一对一使用,部分商品在目标分类里丢失
  • 类目调整(合并、拆分)不保留版本,历史期间的分类口径被改写

数据来源与参考

  • 数仓建模实践:分类体系对照
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌