数据仓库维度建模举例

俗话说“实践是检验真理的唯一标准”,天天在企业里说数据转型,结果自己连数据中台长什么样都没见过,真是印证了那句话“没吃过猪肉,甚至没见过猪跑”,与其一天把理论知识挂在嘴边,不如按照敏捷的思路带领团队硬着头皮走一朝。于是在很快做完现状分析后,我们便从中台底层出发,开启了数据体系建设的第一站--搭建数据仓库。
搭建数据仓库当然是复杂的过程,涉及汇集,清洗、转化、存储、管理和分析等一系列过程,我们先对其中最核心的“维度建模”进行举例学习,便于团队达成共识。

数据仓库维度表建模举例

假设我们经营一家在线书店,想要分析图书销售数据以优化库存和营销策略。在这个例子中,我们可以将图书、作者、出版社、读者和销售渠道等作为维度,而销售额、销售数量等作为事实。

1. 确定维度

首先,我们确定分析的维度:

  • 图书维度:包括图书ID、书名、作者ID、出版社ID、ISBN号、类别等属性。
  • 作者维度:包括作者ID、作者姓名、作者国籍、作者出生日期等属性。
  • 出版社维度:包括出版社ID、出版社名称、出版社所在地等属性。
  • 读者维度:包括读者ID、读者姓名、读者年龄、读者性别、读者所在地等属性。
  • 销售渠道维度:包括销售渠道ID、销售渠道名称、销售渠道类型(如在线商店、实体书店、第三方平台等)等属性。

2. 创建维度表

接下来,为每个维度创建维度表:

图书维度表

图书ID 书名 作者ID 出版社ID ISBN号 类别
1 《书A》 1 1 978-123-4567-890 小说
2 《书B》 2 2 978-234-5678-901 历史
3 《书C》 1 1 978-345-6789-012 科技

作者维度表

作者ID 作者姓名 作者国籍 作者出生日期
1 作者A 中国 1980-01-01
2 作者B 美国 1975-05-15

出版社维度表

出版社ID 出版社名称 出版社所在地
1 出版社A 北京
2 出版社B 纽约

读者维度表

读者ID 读者姓名 读者年龄 读者性别 读者所在地
1 读者1 30 北京
2 读者2 25 上海

销售渠道维度表

销售渠道ID 销售渠道名称 销售渠道类型
1 渠道A 在线商店
2 渠道B 实体书店

3. 创建事实表

接下来,创建一个销售事实表,用于存储度量值和维度键:

销售事实表

销售ID 图书ID 作者ID 出版社ID 读者ID 销售渠道ID 销售额 销售数量 销售日期
1 1 1 1 1 1 100 5 2023-10-01
2 2 2 2 2 2 150 3 2023-10-02
3 1 1 1 1 1 200 10 2023-10-03

在销售事实表中,每一行代表一个销售记录,包含了图书ID、作者ID、出版社ID、读者ID和销售渠道ID等维度键,以及销售额、销售数量和销售日期等度量值。

4. 建立关系

最后,建立维度表与事实表之间的关系。这通常通过在事实表中添加与维度表相关联的外键来实现。在这个例子中,销售事实表中的图书ID、作者ID、出版社ID、读者ID和销售渠道ID都是外键,它们分别关联到图书维度表、作者维度表、出版社维度表、读者维度表和销售渠道维度表的主键。

通过这样的维度表建模,我们可以轻松地进行多维分析,比如查询某个作者的所有图书的销售情况、某个出版社在某个销售渠道的销售表现、某个地区读者的购买偏好等。这种模型为数据分析和决策提供了强大的支持。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容