SqlServer 2012 创建数据仓库

接上一篇:数据仓库与数据挖掘 4(上)

复习一下,数据仓库模型
在这里插入图片描述

年龄维表

点击SSIS右键创建SSIS包,设置数据流任务,添加OLEDB源【这部分方法都是一样的,省略】

抽取Customers数据,选取OnRet数据库的Customers表,勾选年龄外部列

在这里插入图片描述

添加派生,派生维成员

语法:

«boolean_expression» ? «when_true» : «when_false»

在这里插入图片描述
派生列:年龄层次的数据类型和数据仓库中维表设置的数据类型不一致,有一个很讨巧的方法,在增加一个派生列年龄层次1,将年龄层次转换数据类型。用的是类型转换函数。
在这里插入图片描述
增加排序,去除重复记录

在这里插入图片描述
最后,添加OLEDB目标,设置输出表为SDW的Age表,并设置映射,部署之后就能得到结果。
在这里插入图片描述

Education 维表

点击SSIS右键创建SSIS包,设置数据流任务,添加OLEDB源【这部分方法都是一样的,省略】
抽取Customers数据,选取OnRet数据库的Customers表,勾选学历外部列。
在这里插入图片描述
老问题,没有维层次。于是–增加派生列
在这里插入图片描述
(本想直接在前面转换类型但,但是不成功,唉)
语法,

[学历] =="博士" || [学历] =="硕士" ? "高" : ([学历] =="本科" || [学历] =="高中"?
"中" : "低")

为了匹配数据类型,再一次派生
在这里插入图片描述
语法

(DT_STR,10,936)[学历层次]

最后,添加OLEDB目标,设置输出表为SDW的Education表,并设置映射,部署之后就能得到结果。
在这里插入图片描述

商品维表

这里省略一些步骤 。。。

抽取Products数据,选取OnRet数据库的Products表,勾选分类、子类、品牌外部列。
在这里插入图片描述
排序,去除重复行
在这里插入图片描述
添加OLEDB目标,设置输出表为SDW的Products表,并设置映射,部署之后就能得到结果。

在这里插入图片描述

事实表

终于等到你。。。

大概要这样:

在这里插入图片描述
一样的,点击SSIS右键创建SSIS包,设置数据流任务,添加OLEDB源,数据来源为Sales表
在这里插入图片描述
数量、金额是我们关心的度量值,而日期,用户名和分类是连接维表
在这里插入图片描述
添加 查找组件在下方,双击编辑
在这里插入图片描述
此时事实表记录要匹配刚刚输出的时间维度的主键,所以连接为SDW在这里插入图片描述
选择主键在这里插入图片描述
其它维表也是同理,常规设置均一致

在这里插入图片描述
商品类别维表匹配
在这里插入图片描述

在这里插入图片描述
学历维表匹配
在这里插入图片描述
在这里插入图片描述
对学历进行查找,设置连接为SDW下Education表,列设置如上。

年龄维表匹配
在这里插入图片描述
对年龄进行查找,设置连接为SDW下Age表,列设置如上。

地理维表匹配
在这里插入图片描述
对地理进行查找,设置连接为SDW下Locates表,列设置如上。

排序

之后对两个匹配输出均按用户名进行排序。
在这里插入图片描述
在这里插入图片描述
最后,添加OLEDB目标,设置输出表为SDW的Sales表,并设置映射,部署之后就能得到结果
在这里插入图片描述
在这里插入图片描述

实验结果

事实表:
在这里插入图片描述
时间维表
在这里插入图片描述
年龄维度Age表
在这里插入图片描述
受教育程度Education表
在这里插入图片描述
地理维度Locates表
在这里插入图片描述
商品维度Products表
在这里插入图片描述

参考

https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver15

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐