多维数据库及MDX介绍_第1页
多维数据库及MDX介绍_第2页
多维数据库及MDX介绍_第3页
多维数据库及MDX介绍_第4页
多维数据库及MDX介绍_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多维数据库及MDX介绍

1

内容

・AnalysisServices简介

・创建多维模型

♦用MDX分析数据

・MDX例子补充

*作业

2

1.AnalysisServices简介

1.1AnalysisServices

1.2样本数据库FoodMart2005

1.3多维数据库

1.4统一维度模型

1.5客户机/服务器体系结构

3

1.1AnalysisServices

•MicrosoftSQLServerAnalysis

Services是开发微软业务智能战略平台

的基础平台。

•为了访问OLAP系统中存储的数据,

AnalysisServices支持MDX

(MultidimensionalExpressions)查询

语言。

4

1.AnalysisServices简介

1.1AnalysisServices

1.2样本数据库FoodMart2005

1.3多维数据库

1.4统一维度模型

1.5客户机/服务器体系结构

5

1.2FoodMart2005

•FoodMart公司在美国、加拿大和墨西哥的

零售连锁店中销售食品和其他商品。公司

的商品放在几个仓库中,然后分发到各个

商店。

一客户数据(名称和地址)存放在Customers维

度中。

一商店数据:各个FoodMart商店数据存放在

Stores表格和相应的Store维度中。

6

1.2FoodMart2005

一产品与数据仓库:产品信息放在两个表中:

product/lass与product。这些表构成

Product维度。仓库数据放在warehouse表格中,

对应Warehouse维度。

-时间数据:与日期和时间有关的信息存放在

time_by_day表格和相应的Time维度中。

7

1.2FoodMart2005

一帐户数据:为了分析企业的财务状况,可以根据帐

户构造财务,如资产、负债等等。与帐户有关的信

,电存放在account表不口本目应的Account维度中。

-货币数据:为了支持不同币种,FoodMart数据仓

库包含currency表和相应的Currency维度。

-员工数据放在三个表中:employee、position与

departmento这些表对应于Employee和

Department维度。

8

1.AnalysisServices简介

1.1AnalysisServices

1.2样本数据库FoodMart2005

1.3多维数据库

1.4统一维度模型

1.5客户机/服务器体系结构

9

1.3多维数据库

•多维数据库是分析大量数据的最成功的解

决方案之一。AnalysisServices2005是

完整灵活的多维数据库实现方法。

•AnalysisServices2005多维数据模型:

-物理模型:定义数据如何在物理媒介上存储。

一概念模型:确定数据表示方法和定义数据的

方法。

-应用模型:定义向用户表示数据的格式。

10

134多维空间

•多维数据集可用多维空间来描述。几何空

间与多维数据空间的一个最重要差别是几

何直线由无限个连续点构成,而多维空间

是离散的,每一维包含离散值。

•描述多维空间的术语:

维度、成员、值、属性、长度、元组、切

片、维度层次、单元格、度量值、聚合

函数、子多维数据集。

11

L3.2描述术语(1)

•维度(dimension):描述数据中公司要分析的

一些要素。例如,时间维度。

•成员(member):对应于一个维度的一个点。

例如,时间维度中的星期一是个维度成员。

•值(value):是一个成员的一个唯一特性。

•属性(attribute):是成员的完整集合。例如

一周的所有日期是时间维度的属性。

•长度(size或cardinality)是一个维度包含

的成员数。例如,星期的天数构成的时间维

度长度为7。

12

描述术语(2)

•元组(tuple)是多维空间中的坐标。例如,

([2%Milk],[EdwardMelomed],[March])

•切片(slice)是多维空间中的一段,可以用一

个元组定义。例如,一月份发生的销售切片

([January])o

13

EdwardMclomcd

Club2%Milk

14

描述术语(3)

•维度层次

-如果我们要按季度或年度来定义销售空间,而时

间维度只有单一属性月份,我们在时间维度中增

加两个相关属性(季和年)。

一月份作为关键属性,季和年作为相关属性,在相

关属性和关键属性之间建立关系。这样可以创建

这个维度的维度层次。这个维度层次包含三层:

年、季、月O

—^个维度可以有多个层次,但每个层次要使用相

同的关键属性。

15

描述术语(4)

•因为增加了相关属性,这些相关属性在多维空间

中创建了许多新点,但这些新点不必增加任何新

值,因为外部数据源中只包含月份。这些点的值

要靠计算得到。

•多维数据集由事实空间和逻辑空间的点集合而成。

一事实空间:只包含表示实际销售的点。

-逻辑空间:多维数据集中除去事实空间的点。

•多维数据集空间中的每个点称为一个单元格

(cell)o

16

描述术语(5)

•度量值:单元格的值称为度量值。例如,客

户为产品所付的金额。

•聚合函数:聚合函数可能简单(累加)或复

杂(半累加)。

-累加聚合函数:数据和、最小与最大值和个数。

-所有其它函数都是复杂的,使用复杂公式和算法。

•子多维数据集:多维数据集完全空间的一部

分。

17

1.AnalysisServices简介

1.1AnalysisServices

1.2样本数据库FoodMart2005

1.3多维数据库

1.4统一维度模型

1.5客户机/服务器体系结构

18

1.4统一维度模理(UDM)

•统一维度模型使我们可以设置系统,使不同

类型的客户端程序可以访问数据仓库中的关

系型和多维数据库而不必分别对其采用不同

模型。

•统一维度模型(UDM)的作用是在用户和数据

源之间搭建一座桥梁。UDM构造于一个或多

个物理数据源之上。用户使用多种客户端工

具(例如,MicrosoftExcel)向UDM发出

查询。

19

客户第工具

关系数而n

-SQLServer

•Oracle

•DB2

•Access

-Teradata

文件

20

1.AnalysisServices简介

1.1AnalysisServices

1.2样本数据库FoodMart2005

1.3多维数据库

1.4统一维度模型

1.5客户机/服务器体系结构

21

1.5客户机〃艮务器体系结构

•多维数据库的体系结构与关系型数据库有许

多相同之处,SSAS2005支持不同体系结构以

访问数据。

-----层体系结构:数据与客户程序放在同一计算机

上,程序从存储的信息中请求信息。

-二层体系结构:数据存放在服务器上,相应查询

时移到客户端

22

客户机〃艮务器体系结构(cont.)

-三层体系结构:数据库服务器与客户机之间有一

个Internet服务器。

♦客户机利用HTTP建立Internet服务器连接,然后

连接OLAP服务器。

♦OLAP服务器将相应数据发送到Internet服务器,

其将数据以Web页面形式,发送给客户机使用。

一四层体系结构:数据放在关系型数据库中,在多

维数据库中缓存,Internet服务器支持多维数据

库程序与客户端之间的通信。

-多维数据库还可以用不同分布式存储系统。

23

2.创建多维模翅

2.1DDL

2.2概念模型中的维度

2.3多维数据集与多维分析

2.4度量值与多维分析

2.5创建多维数据集

24

2.1数据定义语言(DDL)

•DDL是面向对象的语言,可以定义多维模型中

的对象和这些对象所需的所有属性。

•DDL对象

-主对象:用户可以通过操纵(独立于其父对象)

创建和改变模型的对象。

-次对象:主对象的子对象。

一模型的根对象是Database(也是个主对象),包

含这个模型中所有对象的清单。

25

FoodMart数据库的DDL定义

<Database

xwlns=,,http://schemas.microsoft.com/analysisservices/2OO3/engine,F>

<ID>FoodMart.::2005</ID>

<Name>FoodHart2005</Naine>

<Diwension5/>

<Cubes/>

<Data5ources/>

<DataSourceVieus/>

<Translations/>

</Database>

26

2.创建多维模翅

2.1DDL

2.2概念模型中的维度

2.3多维数据集与多维分析

2.4度量值与多维分析

2.5创建多维数据集

27

2.2概念模型中的维度

•用DDL定义维度

<Dimension>

<ID>Customer</ID>

<Name>Customer</Name>

<Annotations/>

〈Attributes/>

<Hierarchies/>

</Dimension>

28

221维度属性

•多维模型用一组属性定义维度数据的一组

“定义域”,一个域是一个维度属性。

•维度的键——关键属性。例。

•属性成员键:

-茴单键用数据库中允许的任何数据类型的单个值

定义。

-复合键用不同数据类型值组合定义。当键的唯一

性无法标识特定成员时,就要用到复合键。

29

222属性之间的关系

•一个维度的所有属性中只有一个是关键属性,其它属

性关联到关键属性,这个联系可以是直接的也可以是

间接的。

Country

StateProvince

对一应的定义。

DDLCustomerID30

关系的参数

•属性之间的关系定义一个属性与另一个属

性可能的关联。可以设置的主要参数:

一RelationshipType

♦用途:定义修改相关属性某个成员的键值的

规则。

♦隼值:Rigid:相关属性的值和当前属性是

捆绑的,不能修改。Flexible:可以改变。

31

关系的参数(cont.)

一Cardinality

♦用途:定义相关属性或其成员作为当前属性

的成员属性时其键的关系性质。

♦隼值:One-to-One:当前属性的唯一一个成

员联系到相关属性的每个成员。One-to-

Many:相关属性的一个成员可以作为当前属

性中不同成员的属性。

32

关系的参数(cont.)

—Visible

♦用途:确定用户是否可以把相关属性当作当

前属性的成员属性来访问。

♦隼值:False:不能把相关属性当作当前属性

的成员属性。True:可以。

33

2.2.3属性离散化

•离散值与连续值

-离散值的值与值之间有清晰的边界。例如,Gender属性通

常只有两个值:男或女。

-连续值之间没有清晰的边界,是连续的。例如,工人的工

资通常在一定值之间。

•属性离散化的原因:有些连续值集合是无穷的或非

常大的。处理这么大的范围很难高效处理。

•属性离散化也可以用于本身是离散化太多的属性,

如Customer维度的CustomerID属性。

34

属性离散化(cont.)

•为了让AnalysisServices对连续属性进行离

散化,需要设置两个属性:

-DiscretizationMethod:定义离散化的特定

方法。

—DiscretizationBucketCount:定义分组的

个数。

35

2.2.4父属性

•父属性标识维度表中的一个列,基于该列与同一维

度表中的主键建立外键关系。此类关系为“自引用

关系”或“自联接”。

•用Usage参数将属性定义为Parent。

•例:Employee属性

36

2.2.5维度层次

•层次可以看作导航路径,是访问多维模型的主要途

径。定义层次就是定义层次对象本身和指定所有层

及所有属性的集合。层次有两个很重要的属性:

—SourceAttributelD:定义层成员的源。这个属性定义某个

成员属于某层之后,成员得到两个特性:

♦父成员是当前成员所在层上层的的成员。

♦子成员是当前成员所在层下层的成员。

—HideMemberlf:定义向客户程序显示成员的规则。

37

维度层次类型(1)

•自然层次和非自然层次

一维度属性之间存在依赖性。整个层次结构由层次

中作为层的属性之间的关系确定。这种层次成为

自然层次。

-非自然层次。例如,有两个属性MaritalStatus

和Gender是互不相关的°

38

维度层次类型(1)

•非自然层次与自然层次的差别在于定义哪个

成员属于哪个父属性的方法不同。

-自然层次用成员间的关系定义父子关系

-而非自然层次用成员与键属性的关系定义父子关

•建议:定义维度时,一定要小心定义属性问

的关系并根据其建立层次,应避免非自然层

次。因为属性间的关系类型会影响性能。

39

维度层次类型(2)

•AH层与Key层

-AH层联合层次中顶层的所有元素。省略AH层时,

层次的顶层是一组元素而不是一个元素。这时很

难知道哪个元素是默认元素。

-Key层基于维度的键属性。加上Key层不改变层次,

因为每个层次都包括Key层。但是会给系统增加负

担,向下访问时甚至可能使用户程序崩溃。

•强烈建议层次中包括All层,不要包括Key层。

40

2.2.6属性层次

•如果不建立用户定义层次或需要引用层次以外的成

员,则可以使用属性层次。

•属性层次模型中每个属性定义两个层:AH层和基于

原属性的层。属性层次的名称与原属性同名。如果

包含属性层次,则可以不创建用户定义层次而引用

属性的任何成员。

41

属性层次(cont.)

•定义属性层次行为的属性:

—IsAggregatable:属性是否可以在层次中聚合。

—AttributeHierarchyEnabled:是否为此属性启用了属性

层次结构。

AttributeAll

AttributeCountry

BCDFGuerrero...CAORAttributeStateProvince

42

2.2.7父子层次

•父子层次结构是标准维度中包含父属性的层

次结构。

•父子层次只有两个属性:父属性和键属性,

键属性作为子属性。

•父子层次可以创建灵活的数据结构。但要构

造和维护父子层次需要大量系统资源。父子

层次在多维数据集中引入的复杂度会大大影

响模型的有效性,使用户很难理解模型。除

非确有必要,否则不用父子层次。

43

2.创建多维模翅

2.1DDL

2.2概念模型中的维度

2.3多维数据集与多维分析

2.4度量值与多维分析

2.5创建多维数据集

44

2.3多维数据集与多维分析

•多维分析中使用的主要对象是多维数据集。

它可以有任意多维,其各个维度的长度不一

定相同。

•多维数据集有两大集合:

-维度集合:定义多维空间中的维度。

一度量集合:我们要分析的数据。

45

多维数据集与多维分析

•多维数据集定义

<Cubexmlns=…〉

<ID>FoodMart2005</ID>

<Name>WarehouseandSales</Name>

<Dimensions/>

<MeasureGroups/>

</Cube>

46

2.3.1多维数据集维度

•多维数据集的多维空间由一系列维度定义,这是数

据库中维度的子集。

•例:WarehouseandSales多维数据集的Dimensions

o

•多维数据集维度的参数:

-DI是多维数据集维度的标识符。

-Name是多维数据集用户看到的维度名称。

-DimensionlD定义多维数据集维度基础数据库维度。

这个参数是数据库中数据库维度的标识符。

—Attributes集合定义属性。

—Hierarchies集合定义一列层次。

47

2.3.2维度多维数据集

•起因:

-MDX只识别多维数据集维度。如何使客户程序访问

数据库中的所有信息?

•解决方法:

—AnalysisServices在创建数据库维度时自动创

建一个维度多维数据集。这个多维数据集只包含

一个维度。

•访问方法:

-维度多维数据集的名称在维度名前面加上美元号。

例如,$Customers0、

•透视是为特定应用程序或用户组创建的多维

数据集的子集。

-多维数据集本身是一个默认的透视。

-透视针对客户端显示为一个多维数据集。当用户

查看透视时,该透视看上去像另一个多维数据集。

49

透视(cont.)

•定义透视日寸要指定五个集合:

—Dimensions集合指定透视显示的维度清单。

—MeasureGroups集合指定透视显示的度量值组清

单。

—Calculations集合指定透视显示的计算清单。

-KPIs集合指定透视显示的关键性能指标清单。

-Actions集合指定透视显示的操作清单。

50

2.创建多维模翅

2.1DDL

2.2概念模型中的维度

2.3多维数据集与多维分析

2.4度量值与多维分析

2.5创建多维数据集

51

2.4度量值与多维分析

•度量值就是要分析的值。

•度量值按照事实数据表分为多个度量值组。

度量值组用于将维度和度量值进行关联。

•一个多维数据集的所有度量值构成度量值维

度。

52

241度量值

•度量值是要分析的事实数据。其确定:

•模型中如何分析,分析什么;

•分析使用的资源;

•分析精度;

•数据载入模型和从其读串的速度。

53

度量值(cont.)

•度量值属性

-Name:度量值名,要在多维数据集中唯一。

-ID:引用度量值的唯一标识符。

-Source:度量值的数据规范,定义将度量值数据

正确载入模型所需的全部信息。

—AggregateFunction:确定如何从事实空间数据值

计算多维空间的数据。

—MeasureExpression:定义计算度量值的公式(如

果这个值是从其它度量值求得)。

例:例oreSales度量值的定义

54

2.4.2聚合

•AggregateFunction和DataType定义度量值的

行为,这两个属性是相互联系的。

-SUM:度量值计算是把不同层的数据相加。

♦注意:SUM聚合不能使用String数据类型。

-MAX与MIN:分别计算度量值的最大值和最小值。

♦注意:MAX与MIN聚合不能用String数据类型。

55

聚合(cont.)

-COUNT:计算度量值中非Null的记录个数。

♦数据类型不影响聚合结果,建议让其与关系型表格中

原先的数据类型保持相同即可。

-DISTINCTCOUNT:计算度量值具有唯一值的个数

记录个数O

♦这个聚合函数接受String数据类型和其他数据类型。

♦在度量值组中,只能有一个度量值使用DISTINCT

COUNT聚合函数。

56

2.4.3度量值组

•度量值按照事实数据表分为多个度量值组。

度量值组用于将维度和度量值进行关联。

•同一粒度的度量值联合一个度量值组(事

实)O

57

度量值组(cont.)

•度量值组属性:

-Type:度量值组类型。

-Measures:构成事实的度量值列表。事实中至少

要有一个度量值。

-Dimensions:维度集合,定义粒度和事实与多维

数据集维度空间的绑定。

—IgnoreUnrelatedDimensions:定义事实中未用的

维度从度量值组读隼数据时的模型行为。

—EstimatedRows:模型创建者估计事实中包含的行

例:&les度量值组定义58

2.4.4度量值组维度

•事实的数据空间是多维数据集数据空间的子

集,由度量值组维度定义(这是多维数据集

维度的子集)。

•粒度

-如果度量值组维度的粒度是键属性,则不必指定

任何其他信息;否则要定义度量值组维度的一列

属性,指定其中哪个是粒度属性。

-为了使属性成为粒度属性,可以将其Type属性设

置为Granularity。

-每个维度只允许指定一个粒度属性。

59

度量值组维度(cont.)

•度量值组维度分为两种:

一直接维度,直接与事实相联系。

一间接维度,通过其他维度或度量值相关联到事实。

♦引用维度、多对多维度、数据挖掘维度

•度量表达式定义多维数据集两个度量值间的算术运

算,产生一个度量值。

60

2.创建多维模翅

2.1DDL

2.2概念模型中的维度

2.3多维数据集与多维分析

2.4度量值与多维分析

2.5创建多维数据集

61

2.5创建多维数据集

•工具:SQLServerBusinessIntelligence

DevelopmentStudio(BIDevStudio)提

供了开发多维模型的用户界面。

•样本数据库:Northwind

•过程:

-创建数据源

-设计数据源视图

-设计维度

-设计多维数据集

-配置工程、部署工程62

251创建数据源

•创建新数据源

-在BIDevStudio中新建AnalysisServices项目

-在BIDevStudio的解决方案资源管理器中右击

数据源节点并从弹出菜单中选择新建数据源。

-新建连接:填写服务器名,验证方式以及数据库

名O

•浏览DDL定义

-在解决方案资源管理器中右击FoodMart2005.ds

文件,选择“查看代码”o

63

创建数据源

64

创建数据源

提供程序(E):|本机OLEDB\5QLNativeClient三]

服务器名(E):

B7AB695915D2449▼“刷新(g)

登录到服务器

o使用Windows身份验证(缈

使用SQLServer身份验证(Q)

用户名国):|

连接到一个数据库

6询I;才注第fT\i:如迫1厂却时65

2.5.2设计数据源视

•数据源视图是个分析服务对象,表示关系型

数据库模式之上的抽象层。

,刍tip

_jNorthwind

日」婺据源

♦:,Northwind.ds

新建数据源视图(由…

I->

一j淮E

7月捻绡E

I角色

程序集

、。杂项

设计数据源视

选择表和视图

从要包含在数据源视图中的关系数据库中选择对象.

可用对象(Q:包含的对象①;

名称类型名称类型*

因dbo.Alphabeticalli...视图—二)dbo.Employees表

囱-dbo.CategorySale...视图>口dbo.EmployeeTer,,,表

回dbo.CurrentProdu视图口dbo.OrderDetails表

Qidbo.Customerand...视图口dbo.Orders表

卤!dbo.Invoices视图口dbo.Products表

直】dbo.OrderDetails...视图口dbo.Region表

回dbo.OrderSubtotals视图J]dbo.Shippers表

>>

[3Jdbo.OrdersQry视图口dbo.Suppliers表

卤'dbo.ProductSales...视图—3dbo.sysdiagrams表

回dbo.ProductsAbo...视图«」dbo.Territories表

V

-rlRr»CiRlKI

筛选器(D:画[而加相关表0

显示系统对象(Q)

〈上一步®下一步®取消

67

设计数据源视

晒数据

完成向导

话提供一个名称,然后单击垸成“以创建新数据源视图■

名称3):

Northwind

M(P):

I-心Northwind

1dbo.Categories

dbo.CustomerCustomerDemo

1dbo.CustomerDemographics

:dbo,Customers

*1dbo.Employees

Hdbo.Employee!erritories

1dbo.OrderDetails

*1dbo.Orders

*1dbo.Products

1d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论