首页/数据/数仓建模速查/商品目录维度:类目路径与品牌
维度与事实设计149 条

商品目录维度:类目路径与品牌

商品维冗余类目路径(一/二/三级)与品牌、规格;类目名称多为类型 1 覆盖,规格类高频属性可拆子维或迷你维。

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

商品目录怎么建

商品维度通常冗余类目路径(一级、二级、三级)与品牌、规格等属性,让报表单表就能下钻,不必多次关联类目表。类目名称调整多为类型 1 覆盖,只影响展示;而规格这类高频变化的属性建议拆成子维或迷你维,避免主维行数膨胀。

基本信息

粒度一个商品一行,可按需细到 SKU 级
冗余列一级、二级、三级类目名称与编码
品牌品牌代理键,或直接冗余品牌名
类目调整通常按类型 1 覆盖,不影响历史销量归属
拆分建议颜色、尺寸等高频属性拆子维或迷你维

典型使用场景

  • 商品结构分析:按类目层级下钻看销量与毛利
  • 品牌对比:同一类目下不同品牌的表现差异
  • 生命周期分析:上架与下架时间支撑新品与滞销分析
  • 库存联动:与库存快照按商品键关联
  • 价格带分析:按规格与价格段分组做定价参考

商品维度建表

商品维度建表
-- 商品维:冗余类目路径,报表单表即可下钻
CREATE TABLE dim_product (
  product_sk   bigint COMMENT '代理键',
  product_id   string COMMENT '商品编码',
  product_name string COMMENT '商品名称',
  cat_l1       string COMMENT '一级类目',
  cat_l2       string COMMENT '二级类目',
  cat_l3       string COMMENT '三级类目',
  brand        string COMMENT '品牌名称',
  start_date   date   COMMENT '上架日期'
) STORED AS ORC;

属性处理建议

属性变化频率建议处理
商品名称低类型 1 覆盖
类目路径中类型 1 覆盖,需历史归属时另存快照
价格与规格高拆子维或走事实表
上下架状态中按生效区间或状态列处理
类目调整用类型 2 追踪会让维度行数迅速膨胀:商品数量大、类目又频繁调整时,只在确实需要历史归属的场景保留类目快照表更划算。
类目路径不冗余会增加关联跳数:报表要连三级类目表才能下钻,查询复杂且一旦漏关联就会改变结果行数。

易错点

  • 类目调整用类型 2 追踪:维度行数膨胀,关联与存储成本上升
  • 层级列不冗余:查询需要多次关联,容易因缺失关联造成丢行
  • 商品编码在多个渠道重复:跨渠道合并时把不同商品当成同一个
  • 价格放在维度里:价格随促销频繁变化,维度版本数量失控
  • 上下架状态只留当前值:历史时点的在售清单无法还原

数据来源与参考

  • Kimball Group:产品维度设计
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌