数据仓库实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据仓库与数据挖掘上机实验报告实验目的:学习AnalysisServices的操作和基本的数据清洗实验内容:浏览SQLServer2000AnalysisServices随机教程;规划需求分析;仓库设计;数据清洗转换;建立分析数据库,设置数据源;建立多维数据库(Cube);设置多维数据库的数据存储方式及访问权限;利用Excel2000访问AnalysisServices实验分析:下面只进行两个关键的实验,数据清洗转换和建立多维数据库(使用Northwind数据库),先用数据清洗转换,将需要的表从源库转换到新数据库,为数据仓库提供需要的数据,要形成的维表有Products,Category,Employees,Dates,Facts(事实表),在实验二中Products和Category将组成雪花架构的维表。实验一:数据清洗转换内容:为数据仓库新建一个数据库,将Products,Categories,Employees,Orders,OrderDetails转换到新数据库,为数据仓库提供需要的数据目的:为数据仓库事实表和各维表建立基本数据步骤:1)新建一个数据库myNorthwind,并准备从Northwind导入数据。2)建立Products和Categories两个维度表,将维度表需要的列从Northwind数据库复制到myNorthwind。3)建立Employees维度表,将源表的列内容复制过来,并将源表中firstname和lastname合成一个fullname列,在DTS导入/导出向导中使用SQL语句合成新的列fullname。4)建立Dates维度表,由源表Orders表中OrderDate一列产生出年、月、日、周、季等列,同时保留OrderDate一列。在处理数据时使用了VBScript中的DatePart函数。5)建立Facts表,(事实表)该表的数据来自OrderDetails表,首先用Select语句将产品类别编号和员工编号等从各自表中取出;其次计算合计列值,计算方法为单价*(1-折扣)*数量;然后将OrderDetails表的内容复制到Facts表各列即可;再建立主、外键关系。6)最后的新数据库内容为:下面是需要用到的数据转换SQL语句:源表中姓名有firstname和lastname两列,将它们合成一个fullname列select[Employees].[EmployeeID],[Employees].[FirstName]+''+[Employees].[LastName]FullName,[Employees].[Title],[Employees].[TitleOfCourtesy],[Employees].[BirthDate],[Employees].[HireDate],[Employees].[Address],[Employees].[City],[Employees].[Region],[Employees].[PostalCode],[Employees].[Country],[Employees].[HomePhone],[Employees].[Extension],[Employees].[Photo],[Employees].[Notes],[Employees].[ReportsTo],[Employees].[PhotoPath]from[Employees]由源表Orders表中OrderDate一列产生出年、月、日、周、季等列select[Orders].[OrderID],[Orders].[CustomerID],[Orders].[EmployeeID],[Orders].[OrderDate],DatePart(yyyy,[Orders].[OrderDate])OrderYear,DatePart(mm,[Orders].[OrderDate])OrderMonth,DatePart(dd,[Orders].[OrderDate])OrderDay,DatePart(ww,[Orders].[OrderDate])OrderWeek,DatePart(qq,[Orders].[OrderDate])OrderQuarter,[Orders].[RequiredDate],[Orders].[ShippedDate],[Orders].[ShipVia],[Orders].[Freight],[Orders].[ShipName],[Orders].[ShipAddress],[Orders].[ShipCity],[Orders].[ShipRegion],[Orders].[ShipPostalCode],[Orders].[ShipCountry]from[Orders]Facts表的建立select[OrderDetails].[OrderID],[OrderDetails].[ProductID],[OrderDetails].[UnitPrice],[OrderDetails].[Quantity],[OrderDetails].[Discount],[OrderDetails].[UnitPrice]*(1-[OrderDetails].[Discount])*[OrderDetails].[Quantity]TotalPrice,[Orders].[EmployeeID],[Products].[CategoryID]from[OrderDetails],[Orders],[Products]where[OrderDetails].[OrderID]=[Orders].[OrderID]AND[OrderDetails].[ProductID]=[Products].[ProductID]实验二:建立多维数据库内容:建立多维数据库(cube),要建立事实表Facts和维表Products,Categories,Employees,Dates,设置多维数据库的数据存储方式目的:学会建立事实表,度量,时间维度,雪花表,使用数据存储方式步骤:1)设置数据源,选中实验一中建立的myNorthwind数据库。2)建立多维数据集的事实表,使用AnalysisServer的向导。此时显示刚才选中的myNorthwind数据集,还有一个系统自带的FoodMart数据集。向导提示选择事实数据表,在这里我们选好了Facts表作为事实表。*在下一步用了定义度量值的数据中选择TotalPrice,UnitPrice,Quantity,Discount作为度量,度量值的选择与决策者关心的项目有关。在这里假设决策者关心的是价格对销量产生的影响,从这些数据中可以得出进一步的经营方针。3)定义好事实表后,我们要建立cube的维度表①选择维度的创建方式,维度表的结构有星型架构,雪花架构等等,在本实验中,只用到前两个架构,因为本实验中根本没必要用到其他的结构。而雪花架构的运用也只是用于学习和研究,在实际中,如此简单的数据仓库结构也不需要雪花架构,因为它会降低系统的性能。②在Products和Categories表上用雪花结构,Employees和Dates用星型架构,使用Dates的OrderDate作为时间维度的日期列。选择的时间级别为年,季度,月,日,点下一步再下一步,最给给出列的名字Times。建立Employees维度表时,需要注意的是选择维度的级别,注意下图,级别名称的列中,Country应该是在City上面,分级关系中,先分国家再分城市,最后才到员工。在建立雪花架构时,将Categories和Products两表都选中,并根据其中的关系创建和编辑联接。接着是选择维度的级别等等。。。。4)各维度表已经完成。最后在多维数据集编辑器中就可能看到大体的结构:5)用MOLAP方式保存数据,最后得到的视图是这样的:实验总结:实验一:DTS转换中对Employees,Dates,Facts表的转换存在一定的难度,但通过对VB函数的学习,也不是很困难。不过应该是注意的是:1)要新建一个数据库(此处,命名为myNorthwind),将原来数据库的内容转换格式后导回来。2)对Facts表的转换时,要充分考虑到各表与之的关系。实验二:建立cube其实难度不大,只不过,要多使用,并熟悉AnalysisServer的操作。要搞懂每一项的意思。总的来说,Microsoft的AnalysisServer在人性化方面做得非常的好,操作者好容易上手,学习起来也有大量的文档资料,所以基本上不存在大问题,只要认识了数据仓库的具体意义,学习起来就会很简单。

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功