美文网首页大数据,机器学习,人工智能大数据玩转大数据
数据仓库-零售业务举例维度表设计细节-读书笔记(八)

数据仓库-零售业务举例维度表设计细节-读书笔记(八)

作者: 数据僧 | 来源:发表于2018-09-08 15:54 被阅读15次

主要讨论的概念如下

1, 维度属性,包括指标、数字话描述以及多层次
2, 日历日期维度,加上当天时间维度
3, 因果维度,例如:促销维度
4,退化维度,例如:交易数据号码

日期维度
日期维度和其他维度不同,可以提前建立日期维度表。可以在表中按行表示10年或者20年甚至是100年的不同日期。可以涵盖存储的历史,也可以包含未来的几年,日期维度表是相对较小的维度表。

日期维度表 日期维度样例

注意:
1,维度模型总会需要详尽的日期维度表。sql日期函数不支持范围广泛的日期属性,包括周,财务周期,季节,假日,周末等。与其试图将这些非标准日历计算放入查询中,不如放在日期维度表中,通过查询直接获得。
2,将当天的时间作为维度或者事实的时候,例如15分钟间隔,小时,换挡等。当天的时间通常从日期维度中分离出来,以避免提高执行维度计算的复杂性。
3,对于当前和相对日期的属性,我们交给BI应用去处理
4,对于日期维度中的文本属性和标志,例如是否是周末,是否是假日等。建议使用文本方式标识。我个人采用了代码编码标识,如图上图所示。

产品维度
产品维度描述仓库中存储的每一个SKU(产品统一编码)。多数零售商在其总部管理其产品主文件,并将部分子集频繁地下载到每个商店的POS系统上。为每个商品定义适当的产品主记录(唯一的sku)是管理层的职责。

1,扁平化多对一层次。通常不用担心扁平化对存储空间的要求。将重复的低粒度值保存在主维度表中是一种基本的维度建模技术。


产品维度表

2,设计具有内嵌含义的属性。在维度表中按照自然键概念确定的操作型产品代码,通常情况下具有内嵌含义,不同部分表示产品的不同特征,多个部分组成的属性都应该完整的保存在维度表中。例如操作型代码的第1到第4表示渠道商,第5到第10个字符表示制造商,则渠道商,制造商的名称也应该包含在维度表属性中。
3,所为属性或者事实的数字值。如果数字是用于计算,则应该属于事实表,如果数字能预先定义稳定的数字值,则应该当成维度属性。有时候,数字值同时可以用于计算以及过滤/分组功能,那么应该在事实表和维度表同时存储该值。
4,下钻维度属性。合理的产品维度可以包含50个左右描述性属性,每个属性可以作为约束和构建行头指针表识的来源,在维度模型上进行下钻,只不过是在维度表中增加了行头指针属性。上卷操作将移除行表头。

商店维度
1,多层次维度表。每个商店可以考虑为一个地址。可以按照任何地理属性对商店进行上卷操作,例如:邮编、国家、省、市。跨多个层次的属性名称和值应该具有唯一性。
图中的Floor Plan类型,Photo Processing 以及Financial Service类型都是短文本描述符,描述特定的商店,不要用一位字符代码描述他们,使用具有可理解的含义。
2,商店维度表中的日期。如果用户希望按照被标准日历去分组和约束,则通常需要和日期维度一起去使用

商店维度

促销维度
促销维度描述了促销的条件。促销条件包括临时降价,终端通道展示,报纸广告,礼券等。促销维度通常被认为是一种因果维度,因为他描述了认为可能导致产品销售发生改变的原因。

促销维度表
促销是否有效通常从以下几个因素考虑:
1,提升:促销产品的销售是否在促销期间获得大幅提升。
2,降低:促销产品在促销前,促销后,与促销期间的销售比较,是否有降低。
3,销售侵蚀:促销产品在销售方面表现良好,但是其他类似的产品销售却明显降低了。
4,市场增大:促销分类中的所有产品是否都获得了销售方面的净总增益,对比促销前,促销期间,促销后。
5,促销是否有利可图。促销的利润考虑整个促销分类的利润与基本销售利润之比,需要考虑促销期间的销售侵蚀以及促销开销的影响。

存粹从逻辑上考虑,通常将4个不同的因果机制(降价,广告,展示,礼券)区分开,建立不同的维度表而不是合并在一个维度中。
赞成合并在一起的理由如下(个人喜欢这种方式):
1,如果4个因果机制高度关联,合并而成的单一维度,不会比任何一个单独维度大很多。
2,合并为单一维度浏览方便,观察降价,广告,展示,礼券的相互影响关系。
赞成放入不同表的理由如下:
1,对业务群体来说,当分别考虑不同机制时候,不同的维度可能更容易理解。
2,对不同维度的管理可能比合并维度的管理更直接

其他零售业维度
任何出现在事实表度量事件中的表示单一值的描述性属性都可以选为维度
有关某个维度是否应该和某个事实表关联的决策应该基于事实表申明的粒度来确定是或者不是
事务号码的退化维度
退化维度是没有对应维度表的维度键,例如事务空值号码,订单号码,发票号码,提货单号码,通常产生空。


历史文章

数据仓库-概述-读书笔记一
数据仓库-DW/BI架构对比-读书笔记二
数据仓库-事实表/维度表技术-读书笔记三
维度处理-数据仓库-读书笔记(四)
数据仓库-高级事实表技术-读书笔记五
数据仓库-高级维度表技术-读书笔记六
数据仓库,零售业务举例,维度模型设计4步骤,读书笔记(七)


参考资料

数据仓库工具箱


如果您觉得我用心了,觉得您有所收获,麻烦关注下我吧,您的关注就是我的动力,因为有你,我就不是一个人在前行。


数据僧微信公众号

相关文章

  • 数据仓库-零售业务举例维度表设计细节-读书笔记(八)

    主要讨论的概念如下 1, 维度属性,包括指标、数字话描述以及多层次2, 日历日期维度,加上当天时间维度3, 因果维...

  • 数据建模-事实表

    事实表基础 事实表特性 事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表...

  • 数据仓库设计

    数据仓库--事实表 数据仓库--事实表和维度表 DW数据仓库分层模型设计 如何优雅地设计数据分层 ODS DW D...

  • 《数据仓库工具箱》读书笔记(二):维度建模核心概念与实践

    第三章 零售业务 一、设计准则 设计开发的维度模型应该表示由业务过程获取的最详细的原子信息估算事务事实表最大的情况...

  • 技术设计文档规范

    一. 背景二. 系统涉及三. 业务流程四. 表设计五. 接口设计六. 涉及具体方案细节七. 涉及具体方案细节八. ...

  • Dimension table & Fact Table

    Dimension table 维度表是数据仓库星型模式中的一张表。数据仓库是使用由事实和维度表组成的维度数据模型...

  • 离线数仓二

    数据仓库维度模型设计 维度建模基本概念 维度模型是数据仓库领域大师Ralph Kimall所倡导,他的《数据仓库工...

  • Hive维度模型设计

    维度模型设计: 1.选择业务过程 2.声明粒度 3.确认维度 4.确认事实 维度表概述: 维度表是事实表不可或缺的...

  • 数仓设计标准

    1.编码命名规范 表命名(根据数据仓库的层级架构确定不同的命名):(1)维度层:说明:定义数据仓库公用的维度表,例...

  • 维度退化

    什么是维度退化? 将维度退化到事实表中,减少事实表和维度表的关联 在维度建模的数据仓库中,有一种维度叫Degene...

网友评论

    本文标题:数据仓库-零售业务举例维度表设计细节-读书笔记(八)

    本文链接:https://www.haomeiwen.com/subject/wjauwftx.html