数 据 仓 库 与 数 据
挖 掘 课 程
实 验 报 告
指导老师:
学生姓名:
学生学号:
2 0 1 2 年 1 2 月 1 4 日
目 录
实验 1.1 利用 SSIS 对数据进行 ETL 操作 ..................................... - 3 -
一、实验目的 ......................................................... - 3 -
二、实验内容 ......................................................... - 3 -
三、实验步骤 ......................................................... - 3 -
四、总结 ............................................................ - 12 -
实验 1.2 通过 OLAP 进行数据分析 ...........................................- 13 -
一、实验目的 ........................................................ - 13 -
二、实验内容 ........................................................ - 13 -
三、实验步骤 ........................................................ - 13 -
四、总结 ............................................................ - 16 -
实验 1.3 通过 OLAP 进行数据分析 ...........................................- 17 -
一、实验目的 ........................................................ - 17 -
二、实验内容 ........................................................ - 17 -
三、实验步骤 ........................................................ - 17 -
2.切块 .......................................................... - 19 -
3.钻取 .......................................................... - 20 -
4.旋转 .......................................................... - 21 -
四、总结 ............................................................ - 22 -
实验 1.4 利用实验 1.2 的数据仓库按雪花模式进行设计 ........................- 23 -
一、实验目的 ........................................................ - 23 -
二、实验内容 ........................................................ - 23 -
三、实验步骤 ........................................................ - 23 -
1.定义数据源和数据源视图 ........................................ - 23 -
2.生成 Cube ......................................................- 24 -
四、总结 ............................................................ - 25 -
实验 1.5 分析销售数据按季度的移动和 ......................................- 26 -
一、实验目的 ........................................................ - 26 -
二、实验内容 ........................................................ - 26 -
三、实验步骤 ........................................................ - 26 -
四、实验结果 ........................................................ - 27 -
五、总结 ............................................................ - 27 -
实验 2.1 Apriori 关联规则算法应用实例 ....................................- 28 -
一、实验目的 ........................................................ - 28 -
二、实验内容 ........................................................ - 28 -
三、所用算法介绍 .................................................... - 28 -
四、关联规则算法实现过程 ............................................ - 29 -
1.在 SPSS Modeler 中新建 KNN 分类算法应用的数据流图 ............... - 29 -
2.设置文件节点参数 .............................................. - 29 -
3.数据流运行结果 ................................................ - 31 -
五、总结 ............................................................ - 32 -
实验 2.2 K-Means 聚类算法应用实例 ........................................- 33 -
- 1 -
一、实验目的 ........................................................ - 33 -
二、实验内容 ........................................................ - 33 -
三、所用算法介绍 .................................................... - 33 -
1.聚类的定义 .................................................... - 33 -
2.KMeans 算法 ................................................... - 33 -
四、K-Means 聚类算法实现过程 .........................................- 34 -
1.在 SPSS Modeler 中新建 K-Means 聚类算法的应用数据流图 ........... - 34 -
2.设置各文件节点参数 ............................................ - 34 -
3.数据流运行结果 ................................................ - 36 -
五、总结 ............................................................ - 36 -
实验 2.3 KNN 分类算法应用实例 ............................................- 37 -
一、实验目的 ........................................................ - 37 -
二、实验内容 ........................................................ - 37 -
三、所用算法介绍 .................................................... - 37 -
四、关联规则算法实现过程 ............................................ - 37 -
1.在 SPSS Modeler 中新建 KNN 分类算法应用的数据流图 ............... - 37 -
2.设置文件节点参数 .............................................. - 38 -
3.数据流运行结果 ................................................ - 40 -
五、总结 ............................................................ - 41 -
实验 2.4 在 SQL Server2005 上完成数据挖掘实验 ............................. - 42 -
一、实验目的 ........................................................ - 42 -
二、实验内容 ........................................................ - 42 -
三、实验步骤 ........................................................ - 43 -
1.数据文件导入数据库 ............................................ - 43 -
2.创建数据源视图 ................................................ - 44 -
3.三个不同的算法挖掘数据 ........................................ - 46 -
3.1 关联规则算法 .............................................- 46 -
3.2 K-Means 聚类算法 ........................................ - 48 -
3.3 KNN 分类算法 ............................................ - 50 -
四、总结 ............................................................ - 51 -
- 2 -
实验 1.1 利用 SSIS 对数据进行 ETL 操作
一、实验目的
(1)熟悉SSIS工具的运用,初步掌握数据仓库数据的ETL过程。
(2)加深对ETL(提取、转换、加载)的理解。
二、实验内容
此实例的背景是基于Adventure Works cycle 公司,该公司新增了5个销售
区域,以前这5个区域的销售数据没有汇总到数据仓库中,现在需要用到这些数
据,于是公司让这5个区域的主管把客户信息全部导入到一个文本文件中,命名
为customers.txt。因为这几个区域的数据完全混合在一起,而且有一些数据是
无效销售区域的数据,现在的任务就是要通过SSIS的数据提取、转换、和加载功
能把customers.txt的数据分区域导入数据仓库中,同时对于错误数据用一个特
定的文件保存起来。
三、实验步骤
1.生成SSIS 解决方案
(1)打开SQL Server Business Intelligence Development Studio,选择【文
件】→【新建】→【项目】,选择“Integration Services项目”。这里编辑的项
目名称是exp(可以自行命名),单击 【确定】
(2)在“解决方案资源管理器”窗格中,把SSIS包文件夹下的 package1.dtsx
命名为exp.dtsx 。
(3)右键单击“连接管理器”区域中的任意位置,选择“新建OLE DB 连接”,
在“配置OLE DB 连接管理器”对话框中单击 【新建】,选择相应服务器(所使
用的计算机名)的 AdventureWorks 数据库,设置好后测试连接,如图1.1所示。
- 3 -
图1.1 连接管理器窗口
2.设计控制流
(1)从工具箱中窗格拖动组件到控制流编辑器中,命名为“Foreach 循环运
行 SQL 语句”,右键单击Foreach 循环容器,选择“编辑”,单击“集合”,把文
件夹选项定位到此项目中包含SQL文件的文件夹中,“文件”中的后缀名为SQL。
(2)单击鼠标切换到变量映射页,在变量下拉列表框中选择“<新建变量…>”,
在弹出窗口中 进行如图所示的设置。这一步创建了一个包级别的用户变量
vfileName。单击【确定】回到控制流设计器。如图1.2所示。
图1.2 用户变量vfileNamed的创建
- 4 -
(3)创建一个SQL的文件连接,以使循环能够作用于后面将要创建的执行SQL
任务。在连接管理器中新建一个文件连接,命名为CreateTableSQL,在“使用类
型”中选择“现有文件”,文件名指向其中一个创建表的SQL文件,后面会把上一
步的参数传递给这个文件连接。
(4)修改文件连接 CreateTableSQL的属性,选择“Expression”,将其“表
达式”属性中的ConnectionString 修改为vfileName 变量。方法是通过拖动
vfileName 变量到“表达式”空白框中。
(5)按照需求,需要在循环中加入一个创建 SQL的组件,故在“ 工具箱” 窗
格中选择“创建 SQL的组件”,拖动到控制流设计器中,命名为“创建表”,然后
按照如图1.3进行设置。
图 1.3 “创建表”任务的“常规”页设置
(6) 选择“工具箱”窗格中的“数据流任务”组件,拖动到控制流设计器中,命
名为“数据清洗和加载”,同时把优先约束从Foreach循环指向这个数据流组件(右
键点击“Foreach循环运行SQL 语句”选择“添加优先约束”)。最后连接好后如
图1.4所示。
- 5 -
图1.4 设计好的项目控制流
3.设计数据连接
(1)在连接管理器中创建一个平面文件连接,文件名定位为customers.txt。需要
注意的是,由于customers.txt 文件数据第一行是字段名,所以这里需要在编辑
器中选中“在第一数据行中显示列名称”单选项。
(2)切换到“高级”页面配置各列的属性,这里可以设置各列的名称和长度等属
性,当然在这里也可以不修改,等到后面出现警告或错误的时候可以回到这个页
面进行修改。必须要
修改的参数如下列图所示:
- 6 -
图 1.5 Territory 属性参数修改
图 1.6 PostalCode 属性参数修改
(3)另外因为需要保存无效的客户数据,还要创建一个连接指向保存这些数据的
图 1.7 编码选择
- 7 -