数据仓库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, ...
随机推荐
- centos7 安装 mysql5.7 版本(全)
centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c ...
- http服务端架构演进
摘要 在详解http报文相关文章中我们介绍了http协议是如何工作的,那么构建一个真实的网站还需要引入组件呢?一些常见的名词到底是什么含义呢? 什么叫正向代理,什么叫反向代理 服务代理与负载均衡的差别 ...
- 超级好用的c#解析JSON
分享c# 一款非常好用的操作Json的dll,litjson VS2017 NuGet 搜索litjson,如下图: 例子: 在项目中新建一个txt文本文件,内容如下: [ { , "use ...
- top命令之性能分析
top命令详解 当前时间20:27:12 当前系统运行时间3:18秒 1个用户 系统负载平均长度为0.00,0.00,0.00(分别为1分钟.5分钟.15分钟前到现在的平均值) 第二行为进程 ...
- phpstorm安装步骤是什么?
phpstorm的安装及其激活教程 1.phpstorm安装步骤: (1)下载地址:http://www.jetbrains.com/phpstorm/ 根据自己电脑的32or64位下载,下载完后就是 ...
- LeetCode初级算法--动态规划01:爬楼梯
LeetCode初级算法--动态规划01:爬楼梯 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- 移动端真机调试--weinre
一.安装 首先确保你的电脑上有node环境,然后使用cnpm或npm 安装 windows下 npm install weinre -g --registry=https://registry.npm ...
- linux系统状态网络、权限、用户大杂烩
来来来,我们聊一下liunx系统相关的知识!! 首先从查询网络配置开始 ifconfig 查询.设置网卡和ip等参数 ifup,ifdown 脚本命令,更简单的方式启动关闭网络 ip命令是结合了ifc ...
- GO基础之流程控制语句
一.if分支语句 if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ } ; a% == { fmt.Println("偶数") } if 布尔表达式 1 ...
- config.xml
ASP.NET应用程序的配置信息都存放于Web.config配置文件中,Web.config配置文件是基于XML格式的文件类型,由于XML文件的可伸缩性,使得ASP.NET应用配置变得灵活.高效.容易 ...