维度模型设计的4步过程
第1步:选择业务过程
业务过程是有组织完成的微观活动,例如:获得订单、开具发票、接收付款、处理服务电话、注册学生、执行医疗程序、处理索赔等。业务过程包含一下公共特征:
- 业务过程通常用行为动词标识,因为他们通常标识业务执行的活动。
- 业务过程通常由某个操作型系统支持,例如:账单或购买系统。
- 业务过程建立或获取关键性能度量。有时这些度量是业务过程的直接结果,度量从其他时间获得。分析人员总是想通过过滤器和约束的不同组合,来审查和评估这些度量。
- 业务过程通常由输入激活,产生输出度量。
第2步:声明粒度
声明粒度意味着精确定义某个事实表的每一行表示什么。粒度传递的是与事实表度量有关的细节级别。 典型的粒度声明如下:
- 客户销售事务上的每个产品扫描到一行中
- 医生开具的票据的列表内容项采用一行表示
- 机场登机口处理的每个登机牌采用一行表示
- 仓库中每种材料库存水平的每日快照采用一行表示
- 每个樱花账户每月的情况采用一行表示
原子粒度数据具有强大的多维性。事实度量越详细,就越能获得更确定的事实。将所知的所有确定的事情转换成维度。在这点上,原子数据与多维方法能够实现最佳匹配。 原子数据能够提供最佳的分析灵活性,因为原子数据可以被约束并以某种可能的方式上卷。维度模型中的细节数据可以适应商业用户比较随意的查询请求。
第3步:确定维度
维度要解决的问题是“业务人员如何描述来自业务过程度量事件的数据?”应当使用健壮的维度集合来装饰事实表,这些维度表示承担每个度量环境中所有可能的单值描述符。 如果粒度清楚,维度通常易于区分,因为它们表示的是与“谁、什么、何处、何时、为何、如何”关联的事件。常见维度的实例包括日期、产品、客户、雇员、设备等。 在选择每个维度时,应该列出所有具体的、文本类型的属性以充实每个维度表。
第4步:确定事实
可以通过回答“过程的度量是什么?”这一问题来确定事实。商业用户非常愿意分析这些性能度量。设计中所有候选事实必须符合第2步的粒度定义。明细属于不同粒度的事实必须放在不同的事实表中。 典型事实是可加性数值,例如:订货数量或以美元计的成本总额等。