实验二设计并构造AdventureWorks数据仓库实例【实验要求】在SQLServer平台上,利用AdventureWorks数据库作为商业智能解决方案的数据源,设计并构造数据仓库,建立OLAP和数据挖掘模型,并以输出报表的形式满足决策支持的查询需求。【实验内容】步骤1:需求分析:以决策者的视角分析和设计数据仓库的需求;步骤2:根据所设计的需求,确定本数据仓库的主题和主题与边界;步骤3:设计并构造逻辑模型;步骤4:进行数据转换和抽取,建立数据仓库:创建数据源,,建立OLAP和挖掘模型,使用多维数据集进行分析,建立数据挖掘结构和数据挖掘模型,创建报表。【实验平台】Win7操作系统,SQLServer2005【实验过程】一、创建AnalysisServices项目1.打开BusinessIntelligenceDevelopmentStudio。2.在“文件”菜单上,指向“新建”,然后选择“项目”。3.确保已选中“模板”窗格中的“AnalysisServices项目”。4.在“名称”框中,将新项目命名为AdventureWorks。5.单击“确定”。6.最终建立的AnalysisServices项目如图1所示:图-1AnalysisServices项目结果图二、创建数据库和数据源1.运行AdventureWorkssqlserver2005示例数据库.msi,然后用SQLServerManagementStudio附加数据库AdventureWorks_Data.mdf。(1)运行AdventureWorkssqlserver2005示例数据库.msi图-2图-3(2)用SQLServerManagementStudio附加数据库AdventureWorks_Data.mdf2.在解决方案资源管理器中,右键单击“数据源”文件夹,然后选择“新建数据源”。3.在“欢迎使用数据源向导”页面中,单击“下一步”按钮。4.在“选择如何定义连接”页上,单击“新建”向AdventureWorks数据库中添加连接。5.在“连接管理器”的“提供程序”列表中,选择“本机OLEDB\SQLNativeClient”。6.在“服务器名称”列表中,键入或选择承载AdventureWorks的服务器的名称。7.在“登录到服务器”组中,选择身份验证方法,并输入凭据。8.在“选择或输入一个数据库名”列表中,选择AdventureWorks,然后测试连接。若连接成功,再单击“确定”按钮。9.单击“下一步”按钮进入向导的下一页。10.在“模拟信息”页中,选择“使用服务帐户”,再单击“下一步”。11.请注意,在“完成向导”页中,数据源名称默认为AdventureWorksDW。新的数据源AdventureWorks将显示在解决方案资源管理器的“数据源”文件夹中。在下图中最后可以看到数据源已经新建成功了:图-4三、创建数据源视图1.在解决方案资源管理器中,右键单击“数据源视图”,选择“新建数据源视图”。系统将打开数据源视图向导。2.在“欢迎使用数据源视图向导”页上,单击“下一步”。图-53.在“选择数据源”页的“关系数据源”下,系统将默认选中您在上一个任务中创建的AdventureWorksDW数据源。单击“下一步”。若要创建新数据源,请单击“新建数据源”,启动数据源向导。4.在“选择表和视图”页上,选择下列各表,然后单击右箭头键,将这些表包括在新数据源视图中:5.单击“下一步”。6.在“完成向导”页上,默认情况下,系统将数据源视图命名为AdventureWorks。单击“完成”。系统将打开数据源视图设计器,显示AdventureWorks数据源视图。图-6图-7四、定义维度1.在解决方案资源管理器中,右键单击“维度”,然后单击“新建维度”。2.在“欢迎使用维度向导”页上,单击“下一步”。3.在“选择生成方法”页上,验证是否选择了“使用数据源生成维度”选项,然后单击“下一步”。4.在“选择数据源视图”页上,验证是否选择了AdventureWorks数据源视图。5.在“选择维度类型”列表中,选择“标准维度”。如图-8所示:图-86.在“选择主维度表”中,点击“下一步”。7.在“选择维度属性”中,点击“下一步”。8.在“指定维度类型”中,点击“下一步”。9.在“定义父子关系”中,点击“下一步”。10.“检测层次结构”中,点击“下一步”。11.点击“下一步”,然后点击“完成”。最后结果如图-9所示:图-9五、使用多维数据集进行分析1.在解决方案资源管理器中,右键单击“多维数据集”并选择“新建多维数据集”启动多维数据集向导。如图-10所示:图-102.在“欢迎使用多维数据集向导”页上,单击“下一步”。3.在“选择生成方法”页上,确认已选中“使用数据源生成多维数据集”选项,然后单击“下一步”。4.在“选择数据源视图”页上,点击“下一步”。5.在“检测事实数据表和维度表”页上,点击“下一步”。6.在“时间维度表”页上,如下所示。图-11点击“下一步”。7.在“查看共享维度”页上,点击“”,然后“下一步”。8.在“选择度量值”页上,选择可用度量值。图-12点击“下一步”。9.在“检测层级结构”页上,查看结果,点击“下一步”。10.在“查看新建维度”中,选择新建维度,然后点击“下一步”。图-1311.在“完成向导”页,多维数据集名称为“AdventureWorks”。在“预览”中,可以看到“度量值组”和“维度”。12.点击“完成”。13.在多维数据集设计器的工具栏上,将“缩放”级别更改为50%,以便更轻松地查看多维数据集内的维度和事实数据表。注意,事实数据表是黄色的,维度表是蓝色的。14.在“文件”菜单上,单击“全部保存”。图-14六、创建用于个人客户方案的挖掘结构1.在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”启动数据挖掘向导。2.在“欢迎使用数据挖掘向导”页上,单击“下一步”。3.在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。4.在“创建数据挖掘结构”页的“您要使用何种数据挖掘技术?”下,选择“Microsoft决策树”。5.单击“下一步”。如图-15所示:图-156.在“选择数据源视图”页上,请注意已默认选中AdventureWorks。在数据源视图中,单击“浏览”查看各表,然后单击“关闭”返回该向导。7.单击“下一步”。8.在“指定表类型”页上,选中vIndividualCustomer表旁边“事例”列中的复选框,再单击“下一步”。如图-16所示:图-169.在“指定定型数据”页上,确保已选中CustomerID列旁边Key列中的复选框。据源视图中的源表表示一个键,则数据挖掘向导将自动选择该列作为模型的键。10.选中FirstName和LastName列旁边的“输入”和“可预测”。11.单击“建议”打开“提供相关列建议”对话框。只要选中至少一个可预测属性,即可启用“建议”按钮。“提供相关列建议”对话框将列出与可预测列关联最密切的列,并按照与可预测属性的相互关系对属性进行排序。值大于0.05的列将被自动选中,以包括在模型中。12.阅读建议,然后单击“取消”忽略建议并保留向导设置的原始值。13.选中以下各列旁边的“输入”复选框:StateProvinceNameMiddleNameCountryRegionName14.单击“下一步”。如图-17所示:如图-1715.在“指定列的内容和数据类型”页上,单击“检测”以运行对数值数据进行取样并确定数值列是否包含连续或离散值的算法。例如,某列可包含薪金信息,用以作为连续的实际薪金值,也可包含整数,用以表示离散的编码薪金范围(例如1=$25,000;2=从$25,000到$50,000)。16.单击“检测”后,请查看“内容类型”和“数据类型”列中的各项;如有必要,请进行更改,以确保设置与下表所示一致。如图-1817.单击“下一步”。18.在“完成向导”页上的“挖掘结构名称”中,键入IndividualCustomer。19.在“挖掘模型名称”中,键入TM_Decision_Tree。20.选中“允许钻取”复选框。21.单击“完成”。七、挖掘模型和挖掘结构如图-19和图-20所示。图-19图-20图-21八、创建查询8.1创建预测查询的第一步是选择挖掘模型和输入表。1.在数据挖掘设计器“挖掘模型预测”选项卡的“挖掘模型”框中,单击“选择模型”。系统将打开“选择挖掘模型”对话框。2.在整个树中导航到“个人客户”结构,展开该结构并选择TM_Decision_Tree,再单击“确定”。3.在“选择输入表”框中,单击“选择事例表”。系统将打开“选择表”对话框。如图-22所示:图-224.在“数据源”中,选择AdventureWorks。5.在“表/视图名称”中,选择Department(HumanResources)表,再单击“确定”。选择输入表之后,预测查询生成器便会根据各列的名称在挖掘模型和输入表之间创建默认映射。8.2生成预测查询1.在“挖掘模型预测”选项卡上的网格内的“源”列中,单击第一个空行中的单元格,然后选择Department。2.在Department行的“字段”列中,选择DepartmentID。3.在“源”列中,单击下一个空行,然后选择TM_Decision_Tree。4.在TM_Decision_Tree行的“字段”列中,选择FirstName。这将会输出Microsoft决策树模型中作为预测目标的列。5.在“源”列下,单击下一个空行,然后选择“预测函数”。6.在“预测函数”行的“字段”列中,选择PredictProbability。预测函数提供有关模型如何进行预测的信息。PredictProbability函数提供有关正确预测的概率信息。您可以在“条件/参数”列中指定预测函数的参数。7.在PredictProbability行的“条件/参数”列中,键入[TM_Decision_Tree].[BikeBuyer]。这将指定PredictProbability函数的目标列。有关函数的详细信息,请参阅数据挖掘扩展插件(DMX)函数参考。【总结】通过本次实验,我对SQLServer有了更深的了解。原来知道SQLServerManagementStudio还能做这么多事情。做了这次试验让我对OLAP、ETL、数据仓库和数据挖掘有了更多更深的了解,真的是学到了不少东西。但是在这次实验中,也遇到了一些困难:1.刚开始做的时候对概念了解不深刻,根本不知道自己在做什么东西,后来查了一些资料和翻老师以前讲过的PPT才渐渐明朗起来;2.在新建数据源时“测试连接”一直失败,后来试了好多次才连接成功,原来是导入老师给的数据源的时候没有再重启SQLserverManagementStudio;3.开始的时候BIDS没有装到SQLserver里面去,重装了SQLserver,添加了BIDS功能,虽然耗时较长,但是却学到了怎样把SQLserver删的干净。