维度模型设计步骤
- 选择业务过程
- 声明粒度
- 确定维度
- 确定事实
事实表概述
事实表是数据仓库维度建模的核心,事实表是描述已经发生的业务过程,仅仅围绕业务过程设计,通过粒度和事实(度量)来描述。
其中事实又可以分为三种
- 可加性事实 可以按照任意维度进行统计 如金额
- 半可加性事实 可以按照指定维度进行统计 如库存 按照时间统计没有意义
- 不可加性事实 不可以按照任意维度统计 如比例相关
事实表设计原则
- 尽可能包含所有与业务过程相关的事实
- 只选择与业务过程相关的事实
- 分解不可加性事实为可加性事实
- 选择事实之前优先确定粒度
- 在同一个事实表中不能包含不同粒度的事实
- 对null值进行处理
- 事实的单位保持一致
- 使用退化维度冗余字段提高事实表的易用性
事实表的设计方法
- 选择业务过程并确定事实表类型
一个业务过程多为事务事实表,多个业务过程,且分析业务过程之前的相互时间间隔则多为累积事务事实表 - 声明粒度
事实表的粒度选择尽量选择最细级别的原子粒度,确保最大的灵活性 - 确定维度
事实表的粒度确定之后就可以得到粒度属性相关的维度属性了,例如子订单粒度,相关的维度就可包含,渠道,门店,大区,买家,商品等 - 确定事实
如订单金额,优惠金额,毛利率等事实 - 冗余维度
在数据仓库维度建模中通过对事实表的维度