三、维度建模实践案列-零售业务(上)

通过真实案列理解维度建模原理是学习的目的,也是学习一个概念的最佳实践。

1、维度建模设计的4步过程

1.1 选择业务过程

业务过程是组织完成的微观活动

或许面对一个行业,你无法明确知道那些是业务过程,下面给出几点常规判断方式:

  • 业务过程通常用行为动词表示,如下单、支付、投保、核保、赔付等
  • 业务过程通常由某个操作型系统支撑,如业务系统、支付系统、购买系统、账单系统等
  • 业务过程建立或获取关键性能度量,如价格、保费等
  • 业务过程通常由输入激活,产生输出量,如下单是输入,产生下单明细信息就是输出;用维度建模人员的话来说,一系列过程产生一系列事实表;
1.2声明粒度

精确定义事实表每行数据到底想表示什么

每个业务过程用一行表示,如客户销售事务上的每个产品扫描到一行中,每个银行账户每月的情况采用一行表示等;

1.3确定维度

主要解:业务人员如何描述来自业务过程度量事件的数据?

如下单过程,需要用谁下单、什么地点、什么时候等维度来度量下单金额这个事实

1.4确定事实

主要回答过程的度量是什么?

回答好这个问题,事实表度量值就出来了。

如保险中赔付过程主要用赔付金额来度量这个过程

2、零售业务案列研究

上面只是简单回顾维度建模过程,接下来用零售相关案列更好理解维度建模;

背景描述

假设你在某大型电商公司工作,该公司连锁店有100个,分布在不同省份,每个店都有完整的杂货、冷冻食品、日常生活用品、肉类、农产品类、花卉、保健、美容等类别产品,总之日常生活中常见产品基本都有;

每个商店包含称为产品同一编码(SKU)1–6000的不同产品,SKU属于电商领域一个术语,用来标识某个产品;

简单理解,每个店面包含6000种产品,每个产品都有唯一编号,以区分产品种类;

每个商店数据存在下面几个地方:收银机、收银发票、商店后端供货商发货数据

对于公司层面来看,主要关注订单、库存、销售产品的组织工作,目的是为了利润最大化;事实跟踪产品销售。库存、打折优惠等指标,灵活调整销售策略、管理策略等;

公司收入来源主要是单个产品价格,通过分析价格,采用促销、临时降价、各种广告、礼券、店面展示等调整手段,实现利润最大化;

利用维度建模思想,构建基于电商的数据仓库;

2.1选择业务过程

该业务系统中,管理层希望更好理解通过pos系统获得用户购买情况;

建模业务过程是pos零售交易,pos系统产生的数据用于分析被销售产品,哪几天,在哪个店,用哪种方式销售;

2.2声明粒度

主要考虑:模型应该包含那个级别细节数据?

原则:选择最细粒度

这里最新粒度是pos交易单个产品,如果选择粗粒度汇总数据,对性能是有提升,但是不能满足多样化、灵活查询,不能下钻到数据细节了解每个产品销售情况;

2.3确定维度

主要考虑:从那些方面描述一个产品销售过程?

可以从销售日期、销售商店、那种渠道销售的产品被促销、处理销售的收款员、用户支付方式等维度描述产品;

小结:维度数据包括(日期、产品、门店、促销、收银员、支付方式)

2.4确定事实

将哪些事实放在事实表中,上面粒度声明有助于稳定相关考虑,事实必须和粒度吻合;

pos系统收集的事实包括:销售数量、单价、折扣、净支付价格、扩展折扣、销售额等

通过上面分析,事实表雏形如下:
在这里插入图片描述

上面事实表一共包含4类事实:销售数量、销售可扩展额、销售、成本额,且都是完全可加的

下面讨论几种事实

  • 计算获得的事实

扩展销售总额-扩展成本总额=总利润额(收入)

  • 不可加事实

利润率=利润总额 / 扩展销售总额

注意:单价也是不可加事实,把单价相加毫无意义;

小结:本节主要分析零售pos系统,结合维度建模设计思想,用案列理解这种思想的具体实现;

下一小节继续讨论维度表设计的更多细节

查看更多内容可关注微信公众号
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值