退化维度判断
01

来源:交易业务键

02

位置:事实表直接保存

03

用途:追溯、分组与钻取

04

限制:不是可随意求和的维度

05

升级:出现属性时再建头维度

结论:没有独立属性的交易标识可留在事实表

订单号能把多条订单行归为一笔订单,却通常没有值得放入独立维度表的描述属性。建立只有订单键的一行维表会增加 Join 而不增加语义。

这类业务键作为退化维度直接存入事实表。

退化维度不是技术主键

事实表代理键标识一行,订单号标识业务交易,两者用途不同。订单号可能跨来源重复,需要搭配来源系统或租户形成唯一范围。

保留原始格式,同时可增加规范化键用于匹配。

它支持明细问题和精确计数

可用于订单钻取、按订单分组、去重订单数、平均每单行数和跨事实对账。

计数时明确订单数、订单行数和客户订单次数,避免对业务键直接做无意义聚合。

属性增加时重新评估模型

若订单头包含下单渠道、收货地址、整体状态或整单优惠,可建订单头事实或维度,取决于粒度和变化方式。

不要把高基数交易号放进通用文本维度,也不要把订单级属性复制到每行后重复求和。

用跨粒度查询验收

测试订单行金额汇总、独立订单计数、部分退款、拆单、跨来源同号和订单头属性,核对明细与总额。

BuildTable 可用于声明事实粒度和业务键;退化维度识别、唯一性测试和自动查询行为需 POC 核验。

公开参考资料

开始构建 AI 友好的数据基础

联系我们讨论企业数据建模场景并获取 BuildTable Desktop。

联系我们