数据仓库与数据挖掘.docx
《数据仓库与数据挖掘.docx》由会员分享,可在线阅读,更多相关《数据仓库与数据挖掘.docx(88页珍藏版)》请在冰豆网上搜索。
数据仓库与数据挖掘
《数据仓库与数据挖掘》实验指导书
2012~2013学年下学期
目录
AnalysisServices
第1课在AnalysisServices项目中定义数据源视图5
第2课定义和部署多维数据集12
第3课修改度量值、属性和层次结构32
第4课定义高级属性和维度属性56
第一课在AnalysisServices项目中定义数据源视图
一、创建新的AnalysisServices项目
1.单击“开始”,指向“所有程序”,再指向MicrosoftSQLServer2005,再单击SQLServerBusinessIntelligenceDevelopmentStudio。
将打开MicrosoftVisualStudio2005开发环境。
2.关闭“起始页”选项卡。
在VisualStudio的“文件”菜单上,指向“新建”,再单击“项目”。
3.在“新建项目”对话框中,从“项目类型”窗格中选择“商业智能项目”,再在“模板”窗格中选择“AnalysisServices项目”。
4.将项目名称更改为AnalysisServicesTutorial,这也将更改解决方案名称,然后单击“确定”。
至此,您已经在同样名为AnalysisServicesTutorial的新解决方案中基于AnalysisServices项目模板成功创建了AnalysisServicesTutorial项目。
下图显示在VisualStudio开发环境中的AnalysisServicesTutorial项目。
二、定义新的数据源
1.在解决方案资源管理器中,右键单击“数据源”,然后单击“新建数据源”。
将打开数据源向导。
2.在“欢迎使用数据源向导”页上,单击“下一步”。
3.在“选择如何定义连接”页上,单击“新建”。
4.在“提供程序”列表中,确保已选中“本机OLEDB\MicrosoftOLEDBProviderforSQLServer”。
5.在“服务器名称”文本框中,键入localhost。
6.确保已选中“使用Windows身份验证”。
在“选择或输入数据库名称”列表中,选择AdventureWorksDW。
下图显示了包含到目前为止已定义设置的“连接管理器”。
7.单击“确定”,然后单击“下一步”。
8.选择“使用服务帐户”,然后单击“下一步”。
下图显示了随后出现的“完成向导”页。
9.在“完成向导”页上,单击“完成”以创建名为AdventureWorksDW的新数据源。
下图显示了解决方案资源管理器的“数据源”文件夹中的新数据源。
注意:
若要修改现有数据源的属性,请在“数据源”文件夹中双击该数据源,以在“数据源设计器”中显示数据源属性。
您已经为AnalysisServicesTutorial项目成功定义了AdventureWorksDW数据源。
三、定义一个新的数据源视图
1.在解决方案资源管理器中,右键单击“数据源视图”,再单击“新建数据源视图”。
2.在“欢迎使用数据源视图向导”页中,单击“下一步”。
此时将显示“选择数据源”页。
“关系数据源”下的AdventureWorksDW数据源已被选中。
提示:
若要创建一个基于多数据源的数据源视图,必须先定义一个基于单一数据源的数据源视图。
此数据源将被称为主数据源。
随后,可以添加来自辅助数据源的表和视图。
异类查询要求至少有一个数据源是MicrosoftSQLServer数据源。
3.单击“下一步”。
此时将显示“选择表和视图”页。
在此页中,可以从选定的数据源提供的对象列表中选择表和视图。
可以筛选此列表,为选择表和视图提供帮助。
4.在“可用对象”列表中,选择下列表(同时按下Ctrl键可选择多个表):
∙DimCustomer
∙DimGeography
∙DimProduct
∙DimTime
∙FactInternetSales
5.单击>,将选中的表添加到“包含的对象”列表中。
下图显示了将表添加到“包含的对象”列表后的“选择表和视图”页。
6.单击“下一步”,再单击“完成”以定义AdventureWorksDW数据源视图。
此时,数据源视图AdventureWorksDW将在解决方案资源管理器的“数据源视图”文件夹中显示。
同时,数据源视图的内容也将在BusinessIntelligenceDevelopmentStudio的数据源视图设计器中显示。
此设计器包含以下元素:
∙“关系图”窗格,其中将以图形方式显示各个表及其相互关系。
∙“表”窗格,其中将以树的形式显示各个表及其架构元素。
∙“关系图组织程序”窗格,可在其中创建子关系图,用于查看数据源视图的子集。
∙一个特定于数据源视图设计器的工具栏。
下图显示了数据源视图设计器中的AdventureWorksDW数据源视图。
7.单击“最大化”按钮,最大化MicrosoftVisualStudio开发环境。
8.在沿数据源视图设计器顶部显示的工具栏上,使用“缩放”图标,将“关系图”窗格中的表缩小50%进行查看。
这将隐藏每个表的列详细信息。
9.单击“自动隐藏”按钮,该按钮是解决方案资源管理器的标题栏上的图钉图标。
此时解决方案资源管理器被最小化,成了位于开发环境右侧的一个选项卡。
若要再次查看解决方案资源管理器,请将指针指向解决方案资源管理器选项卡。
若要取消隐藏解决方案资源管理器,请再次单击“自动隐藏”按钮。
10.如果“属性”窗口没有默认为隐藏,请单击该窗口标题栏上的“自动隐藏”。
现在,可以在“关系图”窗格中轻松查看所有表及其相互关系了。
请注意,在FactInternetSales表和DimTime表之间存在三种关系。
每个销售都具有三个与其关联的日期:
订单日期、到期日期和发货日期。
若要查看某种关系的详细信息,可双击“关系图”窗格中的关系箭头。
下图显示了数据源视图设计器中的“关系图”窗格。
您已经成功创建了AdventureWorksDW数据源视图,该视图包括来自AdventureWorksDW数据源的五个表的元数据。
四、修改表的默认名称
1.在数据源视图设计器的“关系图”窗格中,右键单击FactInternetSales表,再单击“属性”。
此时将出现隐藏的“属性”窗口,其中显示了AdventureWorksTutorial数据源视图中FactInternetSales对象的属性。
2.单击“属性”窗口标题栏上的“自动隐藏”按钮,使该窗口保持未隐藏状态。
在“属性”窗口保持打开状态时,更容易更改数据源视图中各个表的属性。
如果不使用“自动隐藏”按钮使窗口保持打开状态,则在“关系图”窗格中单击其他对象时,该窗口将会关闭。
3.将FactInternetSales对象的FriendlyName属性更改为InternetSales。
如果在FriendlyName属性单元格外单击,则应用此更改。
在下一课中,将定义基于此事实数据表的度量值组;由于在本课程中进行了更改,事实数据表的名称将是InternetSales而不是FactInternetSales。
4.在“关系图”窗格中单击DimProduct,或在“属性”窗口的列表框中选择dbo.DimProductDataTable,再将FriendlyName属性更改为Product。
在下一课中,将定义基于DimProduct表的维度;由于在本课程中进行了更改,此维度的名称将是Product而不是DimProduct。
5.用同样的方法更改数据源视图中剩余的各个表的FriendlyName属性,删除“Dim”前缀。
6.完成更改后,单击“自动隐藏”按钮,重新隐藏“属性”窗口。
下图显示了数据源视图设计器中的数据源视图,以及新修改的对象名称。
7.在“文件”菜单上,或者在BIDevelopmentStudio的工具栏上,单击“全部保存”。
这将保存到目前为止您在AnalysisServicesTutorial项目中所做的更改。
您已成功地更改了数据源视图中的表的默认名称,提高了将基于这些表定义的维度和度量值组的用户友好特性。
第二课定义和部署多维数据集
一、定义多维数据集及其属性
1.在解决方案资源管理器中,右键单击“多维数据集”,然后单击“新建多维数据集”。
2.在“欢迎使用多维数据集向导”页上,单击“下一步”。
3.在“选择生成方法”页上,确认已选中“使用数据源生成多维数据集”选项和“自动生成”选项,然后单击“下一步”。
4.在“选择数据源视图”页上,确认已选中AdventureWorksDW数据源视图,然后单击“下一步”。
5.该向导扫描在数据源对象中定义的数据库中的表,以标识事实数据表和维度表。
事实数据表包含相关的度量值,如售出的部件数等。
维度表包含有关这些度量值的信息,如售出产品、售出该产品的月份等。
6.在向导标识完事实数据表和维度表后,请在“检测事实数据表和维度表”页上单击“下一步”。
7.在“标识事实数据表和维度表页上,将显示该向导所标识的事实数据表和维度表。
对于AnalysisServicesTutorial项目,该向导标识四个维度表和一个事实数据表。
为该事实数据表定义了一个度量值组。
每个维度表必须链接到多维数据集中的一个事实数据表。
维度表具有下列关系类型之一:
∙与事实数据表的直接主键-外键关系。
这称为“星型架构”。
∙通过某个其他表与事实数据表的间接主键-外键关系。
这称为“雪花型架构”。
请注意,表既可以用作事实数据表,又可以用作维度表。
在第5课中,您将基于事实数据表定义维度。
在“标识事实数据表和维度表”页上,还可以指定时间维度表,然后将时间属性与指定维度表中的列相关联。
时间属性与指定时间维度表中的列相关联是基于时间的多维表达式(MDX)计算(如YTD和ParallelPeriod)所必需的,而且时间智能向导将使用这一关联定义与时间相关的计算成员。
下图显示了该向导的“标识事实数据表和维度表”页,其中为AnalysisServicesTutorial项目选择了事实数据表和维度表。
8.在“标识事实数据表和维度表”页的“时间维度表”列表中,选择Time,然后单击“下一步”。
9.在“选择时间段”页上,将时间属性名称映射到以指定为“时间”维度的维度为基础的维度表中的相应列。
根据以下列表映射这些属性:
∙将Year属性映射到CalendarYear列。
∙将HalfYear属性映射到CalendarSemester列。
∙将Quarter属性映射到CalendarQuarter列。
∙将Month属性映射到EnglishMonthName列。
∙将Date属性映射到FullDateAlternateKey列。
下图演示了该向导中的这些列映射。
10.单击“下一步”按钮进入向导的下一页。
随即会出现“选择度量值”页,其中显示了该向导所选择的度量值。
该向导选择它标识为事实数据表的表中的各数值数据类型列作为度量值。
在本课中,只定义了一个度量值组。
但在第4课中,您将使用多个度量值组。
11.在“选择度量值”页上,查看在“Internet销售”度量值组中选择的度量值,然后清除下列度量值的复选框:
∙促销关键字
∙货币关键字
∙销售区域关键字
∙修订号
该向导选择事实数据表中未链接到维度的所有数值列作为度量值。
但这四列不是实际的度量值。
前三列是将事实数据表与未在此多维数据集的初始版本中使用的维度表链接起来的键值。
下图显示了“选择度量值”页上已清除的复选框和其余选定维度。
12.单击“下一步”。
由于您前面已在该向导选择了“自动生成”选项,因此该向导将扫描层次结构。
该向导对定义为维度表的表中的各列记录进行采样,以确定列之间是否存在层次结构关系。
层次结构关系是多对一关系,例如“市/县”和“省/市/自治区”之间的关系。
13.在该向导完成对维度的扫描和对层次结构的检测后,请在“检测层次结构”页上单击“下一步”。
14.在“查看新建维度”页上,通过展开树控件显示该向导检测到的三个维度的层次结构和属性,查看其中每个维度的维度层次结构。
下图显示了“查看新建维度”页上的这三个维度。
15.依次展开“产品”维度和“属性”,然后清除LargePhoto复选框。
单击“下一步”。
LargePhoto列在本教程项目的多维数据集中不是很有用,并且由于它可能会占用大量空间,因此最好将其从多维数据集中删除。
16.在“完成向导”页上,将多维数据集的名称更改为AnalysisServicesTutorial。
在该页上,也可以查看多维数据集的度量值组、度量值、维度、层次结构和属性。
17.单击“完成”按钮以完成向导。
在解决方案资源管理器的AnalysisServicesTutorial项目中,AnalysisServicesTutorial多维数据集显示在“多维数据集”文件夹中,而三个数据库维度则显示在“维度”文件夹中。
此外,多维数据集设计器在开发环境的中央显示AnalysisServicesTutorial多维数据集。
请注意,在BusinessIntelligenceDevelopmentStudio的其他选项卡上也已打开数据源视图设计器。
18.在多维数据集设计器的工具栏上,将缩放级别更改为50%,以便轻松查看多维数据集中的维度表和事实数据表。
下图显示了该设计器中的维度表和事实数据表。
请注意,事实数据表是黄色的,维度表是蓝色的。
19.在“文件”菜单上,或者在BIDevelopmentStudio的工具栏上,单击“全部保存”。
这将保存到目前为止您在AnalysisServicesTutorial项目中所做的更改。
您已成功地定义了第一个多维数据集。
使用多维数据集向导可以快速方便地定义简单多维数据集。
二、在多维数据集设计器中检查多维数据集和维度的属性
1.在多维数据集设计器中,在“多维数据集结构”选项卡的“度量值”窗格中,展开“Internet销售”度量值组。
此时将显示为“Internet销售”度量值组定义的度量值。
可以将这些度量值拖到所需的顺序中,以此更改这些度量值的顺序。
度量值的顺序将影响某些客户端应用程序对这些度量值进行排序的方式。
度量值组被命名为InternetSales,这是因为基础事实数据表在数据源视图中的友好名称为InternetSales。
请注意,大写字母“S”前自动添加了一个空格,以增加该名称的用户友好特性。
度量值组及其包含的每个度量值都有属性,在“属性”窗口中可以编辑这些属性。
在第3课中,将学习如何修改这些度量值的属性。
下图显示了多维数据集设计器的“度量值”窗格中的度量值组和度量值。
2.在多维数据集设计器中,在“多维数据集结构”选项卡的“维度”窗格中,检查AnalysisServicesTutorial多维数据集中的多维数据集维度。
请注意,尽管在数据库级别只创建了三个维度(如解决方案资源管理器所示),但在AnalysisServicesTutorial多维数据集中却有五个多维数据集维度。
该多维数据集包含的维度比数据库多,其原因是,根据事实数据表中与时间相关的不同事实数据,“时间”数据库维度被用作三个与时间相关的单独多维数据集维度的基础。
这些与时间相关的维度也称为“角色扮演维度”。
使用三个与时间相关的多维数据集维度,用户可以按照下列三个与每个产品销售相关的单独事实数据在多维数据集中组织维度:
产品订单日期、履行订单的到期日期和订单发货日期。
通过将一个数据库维度重复用于多个多维数据集维度,AnalysisServices简化了维度管理,降低了磁盘空间使用量,并减少了总体处理时间。
3.在“多维数据集结构”选项卡的“维度”窗格中,展开“客户”,再单击“编辑‘客户’”。
此时,在维度设计器中将显示Customer维度。
(请注意,数据源视图设计器和多维数据集设计器仍处于打开状态。
)维度设计器包含下列三个选项卡:
“维度结构”、“翻译”和“浏览器”。
请注意,“维度结构”选项卡包含下列三个窗格:
“属性”、“层次结构和级别”和“数据源视图”。
“属性”窗格显示多维数据集向导设计的属性,“层次结构和级别”窗格显示多维数据集向导定义的用户层次结构。
在维度设计器的“维度结构”选项卡上,可以添加、删除和编辑层次结构、级别和属性。
在第3课中,将学习如何执行这些任务。
下图显示了维度设计器的“维度结构”选项卡。
4.在设计环境中单击选项卡,或在解决方案资源管理器中右键单击多维数据集后单击视图设计器,可以切换到多维数据集设计器。
5.在多维数据集设计器中,单击“维度用法”选项卡。
在此AnalysisServicesTutorial多维数据集视图中,可以看到“Internet销售”度量值组所用的多维数据集维度。
如果多维数据集包含多个度量值组,则多维数据集维度可能只用于其中有些度量值组,而不用于其他度量值组。
此外,可以定义每个维度及使用该维度的每个度量值组之间的关系类型。
在第4课和第5课中,将进一步学习维度用法以及维度与度量值组关系。
下图显示了多维数据集设计器的“维度用法”选项卡。
6.在“Internet销售”度量值组和“客户”维度的相交处,单击“客户”旁边的“全名”字段,再单击省略号按钮(...)。
此时将出现“定义关系”对话框。
在此对话框中,可以定义特定度量值组中的自定义维度属性。
默认情况下,维度在各个度量值组中的行为均相同。
但是,在不同的度量值组中它们可能会有不同的行为。
请注意,“客户”维度与“Internet销售”度量值的关系是常规关系,即,DimCustomer维度表直接与FactInternetSales度量值组表联接。
另请注意,此维度的粒度位于最低级别(即“客户”级别),但可以定义不同的粒度级别。
在第5课中,将学习如何定义自定义粒度级别。
下图显示了“定义关系”对话框。
7.单击“高级”。
此时将显示“度量值组绑定”对话框,可在该对话框中更改每个属性的绑定以及定义空值处理设置。
属性绑定可以指定属性绑定到的基础维度表中的列。
默认情况下,此设置继承自维度;很少在度量值组级别更改此设置。
通过空值处理设置,可以定义AnalysisServices在处理期间在度量值组级别处理空值的方式;这些设置将覆盖维度级别的任何设置。
在第4课中,将学习如何在维度级别定义空值处理设置。
下图显示了“度量值组绑定”对话框。
8.单击“取消”,再次单击“取消”,返回多维数据集设计器。
在本任务中,我们不会检查“计算”、“KPI”、“操作”、“透视”和“翻译”选项卡,因为在教程项目中尚未定义相关对象。
在第6、7、8和9课中,将深入学习这些选项卡。
9.单击“分区”选项卡。
多维数据集向导可以使用不带聚合的多维联机分析处理(MOLAP)存储模式,为多维数据集定义单个分区。
通过MOLAP,所有叶级别数据和所有聚合均存储在多维数据集中,以便最大限度地提高性能。
聚合是预先计算好的数据汇总,聚合可以在问题提出之前准备好答案,从而可以缩短查询响应时间。
通常在AnalysisServices项目最后部署到生产服务器之前定义聚合,在开发期间不定义聚合。
请注意,在“分区”选项卡上可以定义其他分区、存储设置和写回设置。
本教程不包含定义聚合和分区的内容。
下图显示了多维数据集设计器中的“分区”选项卡。
10.单击“浏览器”选项卡。
请注意,由于浏览多维数据集尚未部署到AnalysisServices实例中,因此无法对其进行浏览。
此时,AnalysisServicesTutorial项目中的多维数据集只是一个可以部署到任何AnalysisServices实例的多维数据集定义。
部署和处理多维数据集时,将在AnalysisServices实例中创建定义的对象,然后用基础数据源的数据填充这些对象。
下图显示了多维数据集设计器中的“浏览器”选项卡。
11.在解决方案资源管理器的工具栏上,单击“查看代码”。
此时在AnalysisServicesTutorial.cube[XML]选项卡上将显示AnalysisServicesTutorial多维数据集的XML代码。
这是在部署期间在AnalysisServices实例中创建多维数据集所用的实际代码。
下图显示了该多维数据集的XML代码。
12.关闭XML代码选项卡。
您已检查了初始的AnalysisServicesTutorial多维数据集,现在可以将其部署到AnalysisServices实例中了。
虽然许多多维数据集和维度元数据在不部署项目的情况下就可以编辑,但在多维数据集和维度设计器中查看实际数据可以在开发过程提供帮助。
例如,必须部署并处理多维数据集,才能查看对维度成员进行排序的顺序。
三、部署AnalysisServices项目
1.在解决方案资源管理器中,右键单击“AnalysisServicesTutorial”项目,然后单击“属性”。
将出现“AnalysisServicesTutorial属性页”对话框,并显示活动(开发)配置的属性。
可以定义多个配置,每个配置可以具有不同的属性。
例如,不同的开发人员可能需要将同一项目配置为部署到不同的开发计算机,并具有不同的部署属性,如不同的数据库名称或处理属性。
注意“输出路径”属性的值。
该属性指定生成项目时保存项目的XMLA部署脚本的位置。
这些脚本用于将该项目中的对象部署到AnalysisServices实例。
2.在左窗格的“配置属性”节点中,单击“部署”。
查看项目的部署属性。
默认情况下,AnalysisServices项目模板将AnalysisServices项目配置为将所有项目增量部署到本地计算机上的默认AnalysisServices实例,以创建一个与此项目同名的AnalysisServices数据库,并在部署后使用默认处理选项处理这些对象。
提示:
如果要将项目部署到本地计算机上的命名AnalysisServices实例或远程服务器上的实例,请将“服务器”属性更改为相应的实例名,如<服务器名>\<实例名>。
下图显示了“AnalysisServicesTutorial属性页”对话框。
3.如果您不希望更改“服务器”属性的值,则单击“取消”。
否则,单击“确定”。
4.在解决方案资源管理器中,右键单击AnalysisServicesTutorial项目,再单击“部署”,或者在“生成”菜单上单击“部署AnalysisServicesTutorial”。
Bus