实验报告册讲解.docx
《实验报告册讲解.docx》由会员分享,可在线阅读,更多相关《实验报告册讲解.docx(20页珍藏版)》请在冰豆网上搜索。
实验报告册讲解
实验三、在AnalysisServices项目中定义数据源视图
一、目的和步骤
1.创建AnalysisServices项目
2.定义数据源
3.定义数据源视图
4.修改表的默认名称
具体实验步骤参照《实验三、在AnalysisServices项目中定义数据源视图》文档
二、实验原理及核心算法或思想
1.AnalysisServices项目是相关对象的集合。
项目存在于解决方案中,而解决方案包括一个或多个项目。
2.创建MicrosoftSQLServer2005AnalysisServices(SSAS)项目后,通常通过定义此项目将要使用的一个或多个数据源来开始使用此项目。
定义数据源时,将定义要用于连接此数据源的连接字符串信息。
3.定义了将在MicrosoftSQLServer2005AnalysisServices(SSAS)项目中使用的数据源后,下一步通常是定义项目的数据源视图。
数据源视图是一个元数据的单一统一视图,该元数据来自指定的表以及数据源在项目中定义的视图。
通过在数据源视图中存储元数据,可以在开发过程中使用元数据,而无需打开与任何基础数据源的连接。
三、实验结果(截图)
1.创建AnalysisServices项目
可以在解决方案资源管理器中看到AnalysisServices项目包含以下文件夹:
“数据源”、“数据源视图”、“多维数据集”、“维度”、“挖掘结构”、“角色”、“程序集”和“杂项”。
2.定义数据源
如图项目数据源关联了AdventureWorksDW数据仓库
3.定义数据源视图
可以看见数据源视图中:
∙“关系图”窗格,其中将以图形方式显示各个表及其相互关系。
∙“表”窗格,其中将以树的形式显示各个表及其架构元素。
∙“关系图组织程序”窗格,可在其中创建子关系图,用于查看数据源视图的子集。
4.修改表的默认名称
可以更改数据源视图中对象的FriendlyName属性的值,以提高在数据源视图中创建的维度和多维数据集对象名的用户友好特性。
将以下表格:
∙dbo.DimCustomer
∙dbo.DimGeography
∙dbo.DimProduct
∙dbo.DimTime
∙dbo.FactInternetSales
名字属性FriendlyName更改为更友好的名字:
如下,
四、心得体会与自我评价
根据实验文档和MicrosoftVissualStudio安装向导,一步一步创建项目,创建数据源,更改友好性名称等,相对比较简单,若要创建一个基于多数据源的数据源视图,必须先定义一个基于单一数据源的数据源视图。
用“自动隐藏”按钮使窗口保持打开状态,则在“关系图”窗格中单击其他对象时,该窗口将会关闭。
通过SQLServer2005,我可以轻松对数据源视图进行定义,已成功地更改了数据源视图中的表的默认名称,提高了将基于这些表定义的维度和度量值组的用户友好特性。
但一开始做的时候,并不清楚做这些操作是什么作用。
做完之后再看一遍才比较清楚。
实验四、定义和部署多维数据集
一、目的和步骤
1.定义多维数据集
2.检查多维数据集和维度属性
3.部署AnalysisServices项目
具体实验步骤参照《实验四、定义和部署多维数据集》文档
二、实验原理及核心算法或思想
原理核心算法涉及了OLAP的一些基本概念:
维、维层次,多维数据集。
在多维数据集向导中,可以基于数据源定义多维数据集,也可以在不使用现有数据源的情况下定义多维数据集,而且它还可以为多维数据集定义度量值和维度。
三、实验结果(截图)
1.定义多维数据集
可以看到AnalysisServicesTutorial多维数据集显示在“多维数据集”文件夹中,而三个数据库维度则显示在“维度”文件夹中事实数据表是黄色的,维度表是蓝色的。
2.检查多维数据集和维度属性
维度属性如下图所示。
打开customer的维度结构设计图。
在浏览器中可以看到数据。
选择不同的层次结构可以看到不同的数据
1.部署AnalysisServices项目
注意“浏览器”选项卡上的“元数据”窗格右侧包含两个窗格:
上部窗格是“筛选器”窗格,下部窗格是“数据”窗格。
部署完成之后可以拖动数据使其显示
四、心得体会与自我评价
使用多维数据集向导,可以在SQLServer2005中轻松定义简单的多维数据集。
该向导可以帮助我们为多维数据集定义度量值和维度。
在该向导中,可以基于数据源定义多维数据集,也可以在不使用现有数据源的情况下定义多维数据集。
如果在不使用现有数据源的情况下定义多维数据集,则使用该向导将生成基础数据源架构。
浏览已部署的多维数据集有助于了解应对该多维数据集进行哪些修改,才能改进其功能。
例如,可能需要定义维度成员排序顺序、删除不必要的维度属性、定义新用户层次结构、修改现有用户层次结构或配置度量值属性。
在部署多维数据集后,可以在多维数据集设计器的“浏览器”选项卡中查看多维数据集数据,并可以在维度设计器的“浏览器”选项卡中查看维度数据。
多维数据集和维度属性上完理论课后就很好理解了。
再加上做了实验,更加加深了印象。
实验五、修改度量值、属性和层次结构
一、目的和步骤
1.修改度量值
2.修改“客户”维度
3.修改“时间”维度
4.修改“产品”维度
具体实验步骤参照《实验五、修改度量值、属性和层次结构》文档
二、实验原理及核心算法或思想
使用FormatString属性为各度量值定义格式设置,以控制向用户显示度量值的方式,从而提高多维数据集中的度量值的用户友好性。
通过某些方法修改“客户”、“时间”,“产品”维度:
删除不必要的属性、更改属性和用户定义层次结构名称、更改用户定义层次结构属性、根据数据源视图中的新命名计算定义用户友好的属性名称。
算法:
EnglishMonthName+''+CONVERT(CHAR(4),CalendarYear)
'Q'+CONVERT(CHAR
(1),CalendarQuarter)+''+'CY'+
CONVERT(CHAR(4),CalendarYear)
CASE
WHENCalendarSemester=1THEN'H1'+''+'CY'+''
+CONVERT(CHAR(4),CalendarYear)
ELSE
'H2'+''+'CY'+''+CONVERT(CHAR(4),CalendarYear)
END
CASEProductLine
WHEN'M'THEN'Mountain'
WHEN'R'THEN'Road'
WHEN'S'THEN'Accessory'
WHEN'T'THEN'Touring'
ELSE'Components'
END
三、实验结果(截图)
1.修改度量值
使用FormatString属性为各度量值定义格式设置,以控制向用户显示度量值的方式。
在选中的属性的“属性”窗口的FormatString列表中,选择#,#。
如图我们可以看到,重新部署后被设置过的数据显示#,#的形式。
2.修改“客户”维度
打开维度结构设计表
删除无关属性,然后将数据自定义一个层次结构
添加命名运算
向数据源视图的表中添加命名计算,命名计算是一个表示为计算列的SQL表达式。
该表达式的显示形式和工作方式类似于表中的列。
创建命名计算时,需要指定名称和SQL表达式。
通过命名计算,不必修改基础数据源中的表即可扩展数据源视图中现有表的关系架构。
1.打开数据源视图
2.在“表”窗格中,右键单击Customer,然后单击“新建命名计算”。
在“创建命名计算”对话框的“列名”框中键入FullName,然后在“表达式”框中键入以下CASE语句。
将FirstName、MiddleName和LastName列串联为一个列,该列将在客户维度中用作客户属性的显示名称。
3.部署项目
可以看到客户的信息为全名:
2.修改“时间”维度
(1)修改用户定义层次结构
修改“日历时间”的层次结构,通过创建命名计算SimpleDate使日历时间显示月份,日期,年。
而不是存储在DimTime表的FullDateAlternateKey列中的原始值。
部署后效果:
(2)提供唯一的维度成员名称
通过创建MonthName命名计算,使每月的月份和年份连接起来
通过创建CalendarQuarterDesc命名计算,使每季度的日历季度和年份连接起来
通过创建MonthName命名计算,使每半期的日历半期和年份连接起来
(3)指定组合键值
通过“属性”窗口中KeyColumns属性单元内的省略号按钮(…),修改EnglishMonthName、CalendarQuarter、CalendarSemester特性的值。
部署后,CalendarQuarter属性层次结构的当前结构如下,可以看到CalendarQuarter属性层次结构中存在每年中每季度的成员。
但是这些成员并不按照时间顺序进行排序。
相反,它们先分别按月或半期然后按年份进行排序。
(4)通过修改组合键成员顺序来更改排序顺序
修改组合键成员顺序
1.在“属性”窗口中,查看OrderBy属性的值。
可以看到目前该属性的排序是怎样的。
2.在“属性”窗口中,单击省略号按钮(...),以更改KeyColumns属性值。
可以修改成员顺序改变排序顺序
修改并部署成功后,可以看到EnglishMonthName属性层次结构的成员现在先按年份排序,然后按月份的字母顺序排序。
但是,每年内的月份没有按时间排序
4.修改“产品”维度
(1)通过命名计算将产品中每个产品系列创建用户友好的名称。
在“产品型号系列”用户层次结构中定义一个第二级别——“型号名称”,一个第三级别——“产品名称”。
“产品系列”为第一级别。
(2)指定文件夹名称和成员名称:
选择多个相同类型的特性,在属性窗口中AttributeHierarchyDisplayFolder属性单元中,键入相对应的文件夹名称。
(3)在“层次结构和级别”窗格中选择“产品型号系列”用户层次结构,再在“属性”窗口中将AllMemberName属性更改为“所有产品”。
单击“层次结构和级别”窗格的空白区域,再将AttributeAllMemberName属性更改为“所有产品”。
部署成功后:
“全部”级别成员的名称显示为“所有产品”,此时,“产品系列”级别的成员有了用户友好的名称,而不再是单字母缩写。
在AnalysisServicesTutorial多维数据集的多维数据集设计器中查看数据:
下图展示了2002年的Internet销售:
四、心得体会与自我评价
使用FormatString属性为各度量值定义格式设置,以控制向用户显示度量值的方式,从而提高多维数据集中的度量值的用户友好性。
修改“客户”维度:
删除不必要的属性、更改属性和用户定义层次结构名称、更改用户定义层次结构属性、根据数据源视图中的新命名计算定义用户友好的属性名称。
然后,本实验将部署这些更改、处理已修改的对象并浏览此维度以查看更改。
在这个实验中,我们可以自定义一些层次结构,可以在观察数据的时候,很轻松地将整个层次文件夹调取到表中观察各数据的变化,还通过创建命名计算,使数据更加友好,容易观察。
实验六、定义高级属性和维度属性
一、目的和步骤
1.使用AnalysisServicesTutoria项目的修改版本
2.定义父子层次结构中的父特性属性
3.自动将属性成员分组
4.隐藏和禁用属性层次结构
5.根据辅助属性对属性成员进行排序
6.指定用户定义层次结构中属性之间的属性关系
7.定义未知成员和空值处理属性
具体实验步骤参照《实验五、定义高级属性和维度属性》文档
二、实验原理及核心算法或思想
1.定义父子层次结构中的父特性属性
父子层次结构是某个维度中的层次结构,该维度基于两个表列,这两个表列一起定义维度成员之间的层次结构关系。
一个列称为“成员键列”,用于标识每个维度成员;另一个列称为“父列”,用于标识每个维度成员的父级。
父特性的NamingTemplate属性决定父子层次结构中的每个级别的名称,而MembersWithData属性则决定是否应显示父成员的数据。
2.自动将属性成员分组
浏览多维数据集时,通常根据一个属性层次结构的成员来确定另一个属性层次结构的成员的维度。
例如,可以按城市、购买的产品或性别将客户销售分组。
3.隐藏和禁用属性层次结构
在某些环境下,可能需要禁用或隐藏某些属性以及它们的层次结构。
例如,某些属性(如,社会保障号码或身份证号、付费率、出生日期和登录信息)不是用户将要用来维度化多维数据集信息的属性。
而这些信息通常只是作为特定属性成员的详细信息而显示。
4.根据辅助属性对属性成员进行排序
有时候必须根据辅助属性对属性成员进行排序,才能获得所需的排序顺序,例如,当属性名称或属性键都无法提供所需的排序顺序时。
要按辅助属性名称或键对属性进行排序,必须使用与该属性相关的辅助属性。
5.指定用户定义层次结构中属性之间的属性关系
使用自然层次结构时,如果您在构成级别的属性之间建立了属性关系,则MicrosoftSQLServer2005AnalysisServices(SSAS)可以使用某个属性的聚合来获取相关属性的结果。
如果属性之间没有定义的关系,则AnalysisServices将根据键属性来聚合所有非键属性。
6.定义未知成员和空值处理属性
如果AnalysisServices在处理过程中遇到空值,默认情况下,它会将此空值转换为数值列的零,或转换为字符串列的空字符串,因此不引发任何错误。
三、实验结果(截图)
四、心得体会与自我评价
根据维度的键特性是否可为空或者雪花型维度的根特性是否基于可为空的列,维度向导和多维数据集向导将正确启用这些属性。
在这些情况下,键特性的NullProcessing属性将设置为UnknownMember,而UnknownMember属性将设置为Visible。
这次的实验看着不多,却做了很久。
一开始有些看完了整体,看了几遍都理解不了。
做的迷迷糊糊的。
在老师的帮助下能勉强的了解部分。
还有一下专业词汇不懂。