数据仓库与数据挖掘 4(下)
SqlServer 2012 创建数据仓库接上一篇:点击这里加粗样式复习一下,数据仓库模型年龄维表点击SSIS右键创建SSIS包,设置数据流任务,添加OLEDB源【这部分方法都是一样的,省略】抽取Customers数据,选取OnRet数据库的Customers表,勾选年龄外部列添加派生,派生维成员语法:«boolean_expression» ? «when_true» : «when_false
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
更多推荐
所有评论(0)