数据仓库ETL案例学习(一)
来自课程案例学习
某跨国食品超市的信息管理系统,每天都会记录成千上万条各地连锁超市的销售数据。基于大数据的背景,该公司的管理层决定建立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.设置每周六晚24时自动执行装载新业务数据
要把所有者改为[sa],才可以运行成功



数据仓库ETL案例学习(一)的更多相关文章
- 数据仓库ETL案例学习(二)
来自案例学习 数据仓库经过ETL成功创建之后,就可以对数据仓库进行多维分析任务. 任务主要分为: 1.设置数据源,并添加分析时所需表到数据视图. 2.创建并设置维度. 3.设置时间维. 4.设置度量属 ...
- Storm入门2-单词计数案例学习
[本篇文章主要是通过一个单词计数的案例学习,来加深对storm的基本概念的理解以及基本的开发流程和如何提交并运行一个拓扑] 单词计数拓扑WordCountTopology实现的基本功能就是不停地读入 ...
- angular的splitter案例学习
angular的splitter案例学习,都有注释了,作为自己的备忘. <!DOCTYPE html> <html ng-app="APP"> <he ...
- 8.3 ContosoMVCWeb官方案例学习
1. 分页案例学习 2. 排序搜索案例学习 3.使用Configuration.cs中的Seed方法 在数据库迁移过程中,使用update-database,会运行seed方法.seed方法能够将初始 ...
- sql server 内置ETL工具学习(一) BCP篇
sql server 内置ETL工具学习 常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS. BCP BCP全称BULK COPY PROGRAM 有以下特点: 命令 ...
- 通过 Autostereograms 案例学习 OpenGL 和 OpenCL 的互操作性
引言 在过去的十年里, GPU (图形处理单元)已经从特殊硬件(特供)转变成能够在数值计算领域开辟新篇章的高性能计算机设备. 很多算法能够使用拥有巨大的处理能力的GPU来快速运行和处理大数据量.即使在 ...
- GIS案例学习笔记-三维生成和可视化表达
GIS案例学习笔记-三维生成和可视化表达 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对栅格或者矢量数值型数据,进行三维可视化表达 操作时间:15分钟 案 ...
- 获取字段唯一值工具- -ArcPy和Python案例学习笔记
获取字段唯一值工具- -ArcPy和Python案例学习笔记 目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...
- 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记
面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...
随机推荐
- Linux 命令之 chmod
命令格式 chmod有以下三种格式 chmod [-cfvR] MODE[,MODE]... FILE... chmod [-cfvR] OCTAL-MODE FILE... chmod [-cfvR ...
- 在集成环境中修改配置文件php.ini不生效的解决办法
配置完成之后一定要重启服务,如果重启服务还是不生效. 就去看一下phpinfo(),找到Loaded Configuration File选项,这个才是真正读取的配置文件
- 零基础转行web前端,如何高效的去学习web前端
web前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...
- 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?
通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...
- swoole与php协程实现异步非阻塞IO开发
“协程可以在遇到阻塞的时候中断主动让渡资源,调度程序选择其他的协程运行.从而实现非阻塞IO” 然而php是不支持原生协程的,遇到阻塞时如不交由异步进程来执行是没有任何意义的,代码还是同步执行的,如下所 ...
- win10-搭建git工具
.下载安装 git .生成 SSH 密钥 ssh-keygen -t rsa -C "email@com" -b 4096 .配置gitlab 增加 SSH 密钥. .配置 git ...
- xshell rz commend not found
sudo apt-get install lrzsz 上传rz 下载sz
- 百万年薪python之路 -- 模拟三次账号登录锁定功能
用代码实现三次用户登录及锁定(选做,时间充足建议做一做) 项目分析: 一.首先程序启动,显示下面内容供用户选择: 1.注册 2.登录 a.用户选择登录的时候,首先判断用户名在userinfo.txt表 ...
- maven的相关操作及常见问题
mvn本地服务nexus3的搭建 下载 下载nexus 官网速度极慢,下面是我下好上传的大家可以下载使用链接:https://pan.baidu.com/s/1Ji5Orv3moXc60HRQ39y6 ...
- 【redis】redis的过期策略
redis过期策略 在使用redis做缓存的时候,我们常常会设置过期时间.那么redis是如何清理这些过期的数据呢? 答案是: 定期删除 + 惰性删除 定期删除: redis每100ms就会随机抽查删 ...