数据仓库的构建及其多维数据集分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科技广场
2007.6
208
入 (Import 、导出 (Export 以及转换的服务。 DTS 中最常用的两大工具是DTS向导和 DTS设计器, 因为本文涉及的数据转换是由多个表取得数据并转换至目的数据库, 因此选择 DTS设计器。
将Northwind数据库中的数据转移到数据仓库的目的数据库中, 遵循以下步骤:①设置数据源;②设置数据目的地; ③设置转换方式;④将数据转移任务存储为一个包;⑤执行包进行实际数据转移。
在正式进行数据转换之前, 首先要为Northwind的数据仓库新建一个数据库Northwind_DW, 这样数据源和数据目的地分别为数据库Northwind和
Northwind_DW。然后激活DTS 设计器并创建转移数据包NorthwindToNorthwind_DW。接下来便可以进行事实表和维度表的数据转换任务了, 这个过程是将源数据库中的某些表中的字段抽取出来, 进行相应的组合和转换,
生成目的数据库中的事实表或维度表, 这些工作都可用SQL语句及VB转换脚本语句来完成。以事实表 Sales 为例, 在其转换数据任务属性中, 对应的 SQL 语句如下:
SELECT e.EmployeeID,p.ProductID,s.SupplierID,c.
CustomerID,o.OrderDate,od.Quantity,od.UnitPrice,od. Discount
FROM Orders o,[Order Details]od,Employees e, Products p,Suppliers s,Customers c
WHERE o.OrderID=od.OrderID AND o.EmployeeID=e. EmployeeID AND o.CustomerID=c.CustomerID AND od. ProductID=p.ProductID AND
p.SupplierID=s.SupplierID 除了以上抽取出的字段外, 事实表Sales还包含一个度量值字段Total, 是将已抽取出的字段UnitPrice、 Discount、 Quantity进行组合转换而成, 对应的VB转换脚本语句如下 : Function Main(
DTSDestination("Total"=DTSSource("UnitPrice" *D T S S o u r c e (" Q u a n t i t y " *(1. 0-D T S S o u r c e ("Discount"
Main=DTSTransformStat_OK
End Function
员工维度表Employee数据转换方法同事实表数据转换方法, 其它维度表数据
转换更容易, 方法基本相同, 只是在进行转换选项时, 不需要选择新建选项。
至此, 数据转换包设计完毕, 保存并执行, 便将数据由 Northwind数据库加载到Northwind_DW中。最后进行设置表的主键和外键工作。
3多维数据集分析
在分析数据时, 用户往往并不是以单一的维度为基准, 而是以多个维度为依据。譬如在Northwind的数据仓库中包括了员工、顾客、产品、供货商以及时间等 5个维度, 就会经常有查询某供应商于某年提供了多少金额的某产品或查询某员工于
某年销售了多少金额的产品给某顾客等这类查询。正因为用户查询具有使用多重维度的特点, 所以应该将多个维度集合在一起成为一个单位, 即构成一个多维数据集。微软公司在SQL Server2000上提供了Analysis Ser- vices [5],是数据仓库的解决方案,其主要组件是分析服务
器Analysis Server, 它是执行于 Windows2000或Windows
NT服务器上的一个服务, 会由数据仓库中抽取信息, 并且生
成多维数据集 [6]。
激活管理分析服务器的工具Analysis Manager, 创建一
个存储多维数据集的数据库Northwind_OLAP, 设置数据源为
前面已创建好的数据库Northwind_DW, 然后按以下步骤创建
多维数据集:
①从数据源中选择事实数据表Sales。
②从事实表中选取字段 Total、 Quantity、 UnitPrice、 Discount作为多维数据集度量值。
③创建星型架构维度。从数据源中分别选择与Sales表
呈星型架构的维度表Customer、 Supplier、 Employee、 Time
创建顾客维度、供货商维度、员工维度和时间维度, 其中顾
客维度包括Country、 Region、 City和CustomerName四个级
别, 前者为父级别, 后者为子级别;供货商维度和员工维度
包括的级别分别为SupplierName和Name;时间维度级别选
择【年,季度,月】。
④创建雪花架构维度。从数据源中同时选中维度表 Product和Category创建与Sales事实表呈雪花架构的产品
维度, 维度级别包括Category Name和Product Name, 前者
为父级别, 后者为子级别。
创建好所有的维度后, 将多维数据集命名为CUBE5并存
储处理,即可浏览数据了,如图二所示。
4结束语
在进行数据仓库项目开发过程中, 数据的抽取转换工作
是重点, 直接关系到数据仓库中数据的好坏, 而如何访问数
据仓库中的数据也是用户所关心的问题, 本文以SQL Server
2000中的Northwind数据库为模板, 探讨了一个商用数据仓
库的创建以及对其进行多维数据集分析的一般过程。如何对
已有的数据仓库采用适当的算法进行数据挖掘, 为高层领导
提供有用的决策信息, 是笔者下一步要研究的方向。
参考文献
[1]Inmon WH.Building the Data Warehouse[M].USA:
By Wiley Computer Publishing,John Wiley&Sons,Inc.1998.
[2]李超, 余昭平.基于最大模式的关联规则挖掘算法研