首页/数据/数仓建模速查/多值维度的处理方式
建模基础69 条

多值维度的处理方式

多值维度三种处理:事实表存分隔串(不可取)、桥接表(可分摊)、反向事实表(一对多反转);按查询与分摊需求选择。

数仓建模速查数据更新于 2026-10-12
桥接表支持分摊与统计
反向事实多值为主视角
禁忌逗号串存值无法 join

示例

示例
-- 反向事实:以标签为主视角统计覆盖订单
SELECT tag_key, count(DISTINCT order_key) FROM fact_order_tag GROUP BY 1;
多值字段的查询需求要先明确:是查明细还是做分摊。

易错点

  • 字符串拼接多值,分析端只能模糊匹配
  • 分摊与非分摊口径混用,汇总不守恒

数据来源与参考

  • Kimball 方法论:多值维度
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌