数据仓库ETL案例学习(一) - EVA_y

时间:2024-01-25 21:02:11

来自课程案例学习  

某跨国食品超市的信息管理系统,每天都会记录成千上万条各地连锁超市的销售数据。基于大数据的背景,该公司的管理层决定建立FoodMart数据仓库,期望能从庞大的数据中挖掘出有商业价值的信息,来进一步帮助管理层进行决策。

设计一个销售数据仓库。要求:

1、至少4个维度,每个维度至少3个属性,尽量包含维层。

2、至少1个事实表。

3、数据源能获取(设计的维度和度量字段应该在数据源中直接或间接得到)。

 

* 以下使用SQL Server Integration Services (SSIS) 

 

(一)设计数据仓库概念模型,设计如下:

 

* 可以根据自己的想法设计概念模型,可以是雪花型,可以是星型

 

 

(二)数据仓库数据源、数据视图、维度表装载

1.建立一个项目

 

 

 

 

2.将数据集导入sql server(本文将access数据库先转到sql server,再在SSIS里使用,也可以直接在SSIS里使用Access驱动)

 

 

 

 

 

 

  

3.建立与sql server的连接

 

4.依次装载数据产品维、顾客维、日期维、连锁店维、促销维。

产品维中涉及两个表product、product_class,根据生成查询获得了想要的数据

 

目标编辑器选择新建表来存入数据仓库。

 

同理装载商品维

同理装载促销维

 

装载客户维

同理装载时间维

这里需要将时间字符串进行分割,使用派生列和日期函数,分别建立年、月、日(ps:这里不需要手动建立时间维,数据仓库提供了建立时间维的模板,这里后面会提到)

5.装载事实表

这里需要对汇率进行转换,将saledetail表和currency分别处理(查找、派生、排序等)后通过合并转换的内连接,使得汇率与交易的地区相对应,再加派生列,计算所得的利润。具体的细节如下:

1)   需要将currency的地区和日期与saledetail地区与日期做处理,才能够相对应

2)两边的数据进行内连接

 

3)通过派生列计算利润

 

4)装载数据成功,共计251395行

 

 

6.结果如下:

 

在SQL数据库里可以查看装载好的数据仓库

7.在Sql数据库中设置每周六晚24时自动执行装载新业务数据

要把所有者改为[sa],才可以运行成功

 

 欢迎小伙伴的批评指正~

 

posted on 2019-11-16 22:46  EVA_y  阅读(4679)  评论(0编辑  收藏  举报