实验报告册 - 图文

更新时间:2023-12-31 13:07:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三、在 Analysis Services 项目中定义数据源视图

一、目的和步骤

1. 创建 Analysis Services 项目 2.定义数据源 3.定义数据源视图 4.修改表的默认名称

具体实验步骤参照《实验三、在 Analysis Services 项目中定义数据源视图》文档

二、实验原理及核心算法或思想

1.Analysis Services项目是相关对象的集合。项目存在于解决方案中,而解决方案包括一个或多个项目。 2.创建 Microsoft SQL Server 2005 Analysis Services (SSAS) 项目后,通常通过定义此项目将要使用的一个或多个数据源来开始使用此项目。定义数据源时,将定义要用于连接此数据源的连接字符串信息。

3. 定义了将在 Microsoft SQL Server 2005 Analysis Services (SSAS) 项目中使用的数据源后,下一步通常是定义项目的数据源视图。数据源视图是一个元数据的单一统一视图,该元数据来自指定的表以及数据源在项目中定义的视图。通过在数据源视图中存储元数据,可以在开发过程中使用元数据,而无需打开与任何基础数据源的连接。

三、实验结果(截图)

1.创建 Analysis Services 项目

1

可以在解决方案资源管理器中看到Analysis Services 项目包含以下文件夹:“数据源”、“数据源视图”、“多维数据集”、“维度”、“挖掘结构”、“角色”、“程序集”和“杂项”。

2.定义数据源

2

如图项目数据源关联了Adventure Works DW数据仓库

3.定义数据源视图

可以看见数据源视图中:

? ? ?

“关系图”窗格,其中将以图形方式显示各个表及其相互关系。 “表”窗格,其中将以树的形式显示各个表及其架构元素。

“关系图组织程序”窗格,可在其中创建子关系图,用于查看数据源视图的子集。

3

4.修改表的默认名称

可以更改数据源视图中对象的 FriendlyName 属性的值,以提高在数据源视图中创建的维度和多维数据集对象名的用户友好特性。 将以下表格:

dbo.DimCustomer dbo.DimGeography ? dbo.DimProduct ? dbo.DimTime

? dbo.FactInternetSales

名字属性FriendlyName更改为更友好的名字:如下,

? ?

四、心得体会与自我评价

根据实验文档和Microsoft Vissual Studio安装向导,一步一步创建项目,创建数据源,更改友好性名称等,相对比较简单,若要创建一个基于多数据源的数据源视图,必须先定义一个基于单一数据源的数据源视图。用“自动隐藏”按钮使窗口保持打开状态,则在“关系图”窗格中单击其他对象时,该窗口将会关闭。通过SQL Server 2005,我可以轻松对数据源视图进行定义,已成功地更改了数据源视图中的表的默认名称,提高了将基于这些表定义的维度和度量值组的用户友好特性。但一开始做的时候,并不清楚做这些操作是什么作用。做完之后再看一遍才比较清楚。

4

实验四、定义和部署多维数据集

一、目的和步骤

1. 定义多维数据集

2.检查多维数据集和维度属性 3. 部署 Analysis Services 项目

具体实验步骤参照《实验四、定义和部署多维数据集》文档

二、实验原理及核心算法或思想

原理核心算法涉及了OLAP的一些基本概念:维、维层次,多维数据集。在多维数据集向导中,可以基于数据源定义多维数据集,也可以在不使用现有数据源的情况下定义多维数据集,而且它还可以为多维数据集定义度量值和维度。

三、实验结果(截图)

1. 定义多维数据集

可以看到Analysis Services Tutorial 多维数据集显示在“多维数据集”文件夹中,而三个数据库维度则显示在“维度”文件夹中事实数据表是黄色的,维度表是蓝色的。

2.检查多维数据集和维度属性

维度属性如下图所示。

5

打开customer的维度结构设计图。在浏览器中可以看到数据。选择不同的层次结构可以看到不同的数据

2. 部署 Analysis Services 项目

注意“浏览器”选项卡上的“元数据”窗格右侧包含两个窗格:上部窗格是“筛选器”窗格,下部窗格是“数据”窗格。

6

部署完成之后可以拖动数据使其显示

四、心得体会与自我评价

使用多维数据集向导,可以在 SQL Server 2005 中轻松定义简单的多维数据集。该向导可以帮助我们为多维数据集定义度量值和维度。在该向导中,可以基于数据源定义多维数据集,也可以在不使用现有数据源的情况下定义多维数据集。如果在不使用现有数据源的情况下定义多维数据集,则使用该向导将生成基础数据源架构。

浏览已部署的多维数据集有助于了解应对该多维数据集进行哪些修改,才能改进其功能。例如,可能

7

需要定义维度成员排序顺序、删除不必要的维度属性、定义新用户层次结构、修改现有用户层次结构或配置度量值属性。在部署多维数据集后,可以在多维数据集设计器的“浏览器”选项卡中查看多维数据集数据,并可以在维度设计器的“浏览器”选项卡中查看维度数据。

多维数据集和维度属性上完理论课后就很好理解了。再加上做了实验,更加加深了印象。

实验五、修改度量值、属性和层次结构

一、目的和步骤

1. 修改度量值 2.修改“客户”维度 3. 修改“时间”维度 4.修改“产品”维度

具体实验步骤参照《实验五、修改度量值、属性和层次结构》文档

二、实验原理及核心算法或思想

使用 FormatString 属性为各度量值定义格式设置,以控制向用户显示度量值的方式,从而提高多维数据集中的度量值的用户友好性。

通过某些方法修改“客户”、“时间”,“产品”维度:删除不必要的属性、更改属性和用户定义层次结构名称、更改用户定义层次结构属性、根据数据源视图中的新命名计算定义用户友好的属性名称。

算法:

EnglishMonthName+' '+ CONVERT(CHAR (4), CalendarYear)

'Q' + CONVERT(CHAR (1), CalendarQuarter) +' '+ 'CY ' + CONVERT(CHAR (4), CalendarYear)

CASE

WHEN CalendarSemester = 1 THEN 'H1' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear) ELSE

'H2' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear) END

CASE ProductLine

WHEN 'M' THEN 'Mountain' WHEN 'R' THEN 'Road'

WHEN 'S' THEN 'Accessory'

8

WHEN 'T' THEN 'Touring' ELSE 'Components' END

三、实验结果(截图)

1. 修改度量值

使用 FormatString 属性为各度量值定义格式设置,以控制向用户显示度量值的方式。在选中的属性的“属性”窗口的 FormatString 列表中,选择 #,#。

如图我们可以看到,重新部署后被设置过的数据显示#,#的形式。

2.修改“客户”维度

打开维度结构设计表

9

删除无关属性,然后将数据自定义一个层次结构

添加命名运算

10

向数据源视图的表中添加命名计算,命名计算是一个表示为计算列的 SQL 表达式。该表达式的显示形式和工作方式类似于表中的列。创建命名计算时,需要指定名称和 SQL 表达式。通过命名计算,不必修改基础数据源中的表即可扩展数据源视图中现有表的关系架构。

1. 打开数据源视图

2. 在“表”窗格中,右键单击 Customer,然后单击“新建命名计算”。

在“创建命名计算”对话框的“列名”框中键入 FullName,然后在“表达式”框中键入以下 CASE 语句。将FirstName、MiddleName 和 LastName 列串联为一个列,该列将在客户维度中用作

客户属性的显示名称。

3.部署项目

可以看到客户的信息为全名:

11

3. 修改“时间”维度

(1)修改用户定义层次结构

修改“日历时间”的层次结构,通过创建命名计算SimpleDate使日历时间显示月份,日期,年。而不是存储在 DimTime 表的 FullDateAlternateKey 列中的原始值。 部署后效果:

12

(2)提供唯一的维度成员名称

通过创建MonthName命名计算,使每月的月份和年份连接起来

通过创建CalendarQuarterDesc命名计算,使每季度的日历季度和年份连接起来 通过创建MonthName命名计算,使每半期的日历半期和年份连接起来

(3)指定组合键值

通过“属性”窗口中 KeyColumns 属性单元内的省略号按钮 (…),修改EnglishMonthName 、CalendarQuarter、CalendarSemester特性的值。 部署后,可以看到CalendarQuarter 属性层CalendarQuarter 属性层次结构的当前结构如下,次结构中存在每年中每季度的成员。但是这些成员并不按照时间顺序进行排序。相反,它们先分别按月或半期然后按年份进行排序。

(4)通过修改组合键成员顺序来更改排序顺序

修改组合键成员顺序

1. 在“属性”窗口中,查看 OrderBy 属性的值。可以看到目前该属性的排序是怎样的。

13

2. 在“属性”窗口中,单击省略号按钮 (...),以更改 KeyColumns 属性值。可以修改成员顺序改变

排序顺序

修改并部署成功后,可以看到EnglishMonthName 属性层次结构的成员现在先按年份排序,然

后按月份的字母顺序排序。但是,每年内的月份没有按时间排序

4.修改“产品”维度

(1)通过命名计算将产品中每个产品系列创建用户友好的名称。在“产品型号系列”用户层次结构中定义一个第二级别——“型号名称”,一个第三级别——“产品名称”。“产品系列”为第一级别。

(2)指定文件夹名称和成员名称:选择多个相同类型的特性,在属性窗口中AttributeHierarchyDisplayFolder 属性单元中,键入相对应的文件夹名称。

(3)在“层次结构和级别”窗格中选择“产品型号系列”用户层次结构,再在“属性”窗口中将 AllMemberName 属性更改为“所有产品”。单击“层次结构和级别”窗格的空白区域,再将 AttributeAllMemberName 属性更改为“所有产品”。

部署成功后:“全部”级别成员的名称显示为“所有产品”,此时,“产品系列”级别的成员有了用户友好

的名称,而不再是单字母缩写。

在Analysis Services Tutorial 多维数据集的多维数据集设计器中查看数据: 下图展示了2002 年 的 Internet 销售:

14

四、心得体会与自我评价

使用 FormatString 属性为各度量值定义格式设置,以控制向用户显示度量值的方式,从而提高多维数据集中的度量值的用户友好性。修改“客户”维度:删除不必要的属性、更改属性和用户定义层次结构名称、更改用户定义层次结构属性、根据数据源视图中的新命名计算定义用户友好的属性名称。然后,本实验将部署这些更改、处理已修改的对象并浏览此维度以查看更改。在这个实验中,我们可以自定义一些层次结构,可以在观察数据的时候,很轻松地将整个层次文件夹调取到表中观察各数据的变化,还通过创建命名计算,使数据更加友好,容易观察。

15

实验六、定义高级属性和维度属性

一、目的和步骤

1. 使用 Analysis Services Tutoria 项目的修改版本 2.定义父子层次结构中的父特性属性 3. 自动将属性成员分组 4. 隐藏和禁用属性层次结构 5.根据辅助属性对属性成员进行排序

6.指定用户定义层次结构中属性之间的属性关系 7.定义未知成员和空值处理属性

具体实验步骤参照《实验五、定义高级属性和维度属性》文档

二、实验原理及核心算法或思想

1.定义父子层次结构中的父特性属性

父子层次结构是某个维度中的层次结构,该维度基于两个表列,这两个表列一起定义维度成员

之间的层次结构关系。一个列称为“成员键列”,用于标识每个维度成员;另一个列称为“父列”,用于标识每个维度成员的父级。父特性的 NamingTemplate 属性决定父子层次结构中的每个级别的名称,而 MembersWithData 属性则决定是否应显示父成员的数据。

2.自动将属性成员分组

浏览多维数据集时,通常根据一个属性层次结构的成员来确定另一个属性层次结构的成员的维度。例如,可以按城市、购买的产品或性别将客户销售分组。

3. 隐藏和禁用属性层次结构

在某些环境下,可能需要禁用或隐藏某些属性以及它们的层次结构。例如,某些属性(如,社会保障号码或身份证号、付费率、出生日期和登录信息)不是用户将要用来维度化多维数据集信息的属性。而这些信息通常只是作为特定属性成员的详细信息而显示。

4. 根据辅助属性对属性成员进行排序

有时候必须根据辅助属性对属性成员进行排序,才能获得所需的排序顺序,例如,当属性名称或属性键都无法提供所需的排序顺序时。要按辅助属性名称或键对属性进行排序,必须使用与该属性相关的辅助属性。

5. 指定用户定义层次结构中属性之间的属性关系

16

使用自然层次结构时,如果您在构成级别的属性之间建立了属性关系,则 Microsoft SQL Server 2005 Analysis Services (SSAS) 可以使用某个属性的聚合来获取相关属性的结果。如果属性之间没有定义的关系,则 Analysis Services 将根据键属性来聚合所有非键属性。

6.定义未知成员和空值处理属性

如果 Analysis Services 在处理过程中遇到空值,默认情况下,它会将此空值转换为数值列的零,或转换为字符串列的空字符串,因此不引发任何错误。

三、实验结果(截图)

17

四、心得体会与自我评价

根据维度的键特性是否可为空或者雪花型维度的根特性是否基于可为空的列,维度向导和多维数据集向导将正确启用这些属性。在这些情况下,键特性的 NullProcessing 属性将设置为 UnknownMember,而 UnknownMember 属性将设置为 Visible。这次的实验看着不多,却做了很久。一开始有些看完了整体,看了几遍都理解不了。做的迷迷糊糊的。在老师的帮助下能勉强的了解部分。还有一下专业词汇不懂。

18

本文来源:https://www.bwwdw.com/article/vhjx.html

Top