资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2,*,MDX,的基本语法及概念,1,2,1.MDX,简介,MDX,(,multi-dimensional expressions,多维表达式)是一种语法,支持多维对象与数据的定义和操作。,2,2025/4/29 周二,1.1 MDX,与,SQL,MDX,在很多方面与结构化查询语言,(SQL),语法相似,但它不是,SQL,语言的扩展;事实上,,MDX,所提供的一些功能也可由,SQL,提供,尽管不是那么有效或直观。,3,2025/4/29 周二,如同,SQL,查询一样,每个,MDX,查询都要求有数据请求(,SELECT,子句)、起始点(,FROM,子句)和筛选(,WHERE,子句)。,这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据的特定部分。,4,2025/4/29 周二,1.2 MDX,中的重要概念,多维表达式,(MDX),的用途是使对多个维度的数据的访问更为简单和直观。它的主要概念如下:,维度,(Dimensions),、级别,(Levels),、成员,(Members),和度量值,(Measures),单元,(Cells),、元组,(Tuples),和集合,(Sets),轴维度和切片器维度,(Axis and Slicer Dimensions),5,2025/4/29 周二,在传统的关系数据库中,用于数据定义和操作的大多数语言(如,SQL,)都设计为在两个维度中检索数据:列维度和行维度。,下面的关系图说明一个用于存储定单信息的传统关系数据库。,1.2.1,维度,(Dimensions),、级别,(Levels),、成员,(Members),和度量值,(Measures),6,2025/4/29 周二,各个表均提供二维数据。各行与各列的交集是一单个数据元素,称为字段。要在,SQL,查询中查看的特定列用,SELECT,语句进行指定,而要检索的行用,WHERE,子句加以限定。,7,2025/4/29 周二,而对于多维数据,则可以用具有两个以上,维度,(Dimensions),的结构来表示。这些称作多维数据集的结构具有多个维度。,在多维数据集中维度的交集处,可能有不止一个数据元素,这些数据元素称为,度量值,(Mensures),。,8,2025/4/29 周二,9,2025/4/29 周二,上面的关系图说明使用三个,维度,(,“,路线,”,、,“,源,和,时间,)和两个,度量值,(,包,和,上一次,)的多维数据集。各个维度分成不同的,级别,(Levels),,而每个级又进一步分为,成员,(Members),。,例如,,源,维度提供,东半球,级别,该级别又分为四个成员,,非洲,、,亚洲,、,澳大利亚,和,欧洲,。,10,2025/4/29 周二,如您所见,即使是从多维数据源中查询简单数据也可能是一项复杂的任务。例如,多维数据集可以有三个以上的维度,或者可以只有一个维度。,多维数据集、维度、级别、成员、度量值的概念对于理解,MDX,语法很重要。如果您还不理解,可以查找其他资料以进一步了解这些主题,11,2025/4/29 周二,1.2.2,单元,(Cell),、元组,(Tuple),和集合,(Set),SQL,从表返回二维数据子集,而,MDX,从多维数据集返回多维数据子集。,多维数据集关系图表明,多维成员,的交集创建,单元,(Cells),,从这些,单元,可以获取数据。,12,2025/4/29 周二,为标识和析取这类数据(不管这些数据是单个单元还是单元块),,MDX,使用称为,元组,(Tuples),的参照系。,元组列出维度和成员来标识多维数据集内的单个单元和更大的单元部分;因为,各个单元是多维数据集所有维度的交集,,所以元组可以唯一标识多维数据集中的每个单元。为起到参照的作用,,将多维数据集中的度量视为该多维数据集本身中的一个专用维度,名为,度量值,。,13,2025/4/29 周二,例如,在前面的关系图中,以下元组标识其中值为,400,的单元:,(,源,.,东半球,.,非洲,时间,.,下半年,.,第四季度,路线,.,航空,度量值,.,包,),14,2025/4/29 周二,元组,唯一标识多维数据集中的一部分;它不必指某个特定单元,也不必包括多维数据集中的所有维度。以下示例均为多维数据集关系图的元组:,(,源,.,东半球,)(,时间,.,下半年,源,.,西半球,),15,2025/4/29 周二,元组的有序集合称为,集合,(Set),。在,MDX,查询中,轴维度和切片器维度由这种元组集合组成。以下示例是对关系图内多维数据集中的一个元组集合的描述。,(,时间,.,上半年,.,第一季度,),时间,.,第二季度,.,第三季度,),16,2025/4/29 周二,1.2.3,轴维度和切片器维度,在,SQL,中,通常需要限制对表的查询所返回的数据量。,例如,可能希望只看到有四十个字段的表中的两个字段,而且如果有满足特定条件的第三个字段,也只看到两个字段。可以通过在,SELECT,语句中指定列,并使用,WHERE,语句基于特定准则限制所返回的行来完成此任务。,17,2025/4/29 周二,在,MDX,中,这些概念也适用。,SELECT,语句用来选择要返回的维度和成员,称之为,轴维度,。,WHERE,语句用来将返回的数据限定为特定维度和成员条件,称之为,切片器维度,。,轴维度预期返回多个成员的数据,而切片器维度预期返回单个成员的数据。,18,2025/4/29 周二,下面的部分还将对以上概念进行更详细的介绍,19,2025/4/29 周二,2.,基本,MDX,多维表达式,(MDX),命令使您得以查询多维数据集之类的多维对象并返回多维数据集。,与,SQL,的情况一样,,MDX,查询的作者在编写查询前必须确定所请求数据集的结构。,20,2025/4/29 周二,2.1,基本,MDX,查询,基本多维表达式,(MDX),查询以与下面的示例类似的方式进行构造:,SELECT,.,FROM,WHERE,21,2025/4/29 周二,2.1.1,SELECT,语句,在,MDX,中,,SELECT,语句用于指定包含多维数据的子集的数据集。,22,2025/4/29 周二,2.1.2,基本,MDX,查询示例,以下,MDX,查询示例用于讨论基本的,MDX SELECT,语句语法的各个部分:,SELECT,Measures.Unit Sales,Measures.Store Sales ON COLUMNS,Time.1997,Time.1998 ON ROWS,FROM,Sales,WHERE,(Store.USA.CA),23,2025/4/29 周二,基本的,MDX SELECT,语句包含一个,SELECT,子句和一个,FROM,子句,以及一个可选的,WHERE,子句。,SELECT,子句决定,MDX SELECT,语句的轴维度。本,MDX,查询示例中定义了两个轴维度。,FROM,子句决定当析取数据以填充,MDX SELECT,语句的结果集时将使用哪个多维数据源。,24,2025/4/29 周二,可选用的,WHERE,子句决定哪个维度或成员用作切片器维度;这将数据的析取限制于特定维度或成员。,本,MDX,查询示例使用,WHERE,子句来将轴维度的数据析取限制于,Store,维度的特定成员。,25,2025/4/29 周二,2.2,成员、元组和集合,在开始创建多维表达式,(MDX),查询之前,应当理解成员、元组和集合的定义,也要理解用于构造和引用这些元素的,MDX,语法。,26,2025/4/29 周二,2.2.1,成员,成员,是代表维度中一次或多次数据出现的项。,请把维度中的成员看作基础数据库中的一个或多个记录,其该列内的值归入该分类。成员是描述多维数据集中的单元数据时的最低参照层次。,例如,下面的关系图加入阴影以表示,时间,.,下半年,.,第三季度,成员。,27,2025/4/29 周二,28,2025/4/29 周二,2.2.2,元组,元组用于定义来自多维数据集的数据切片;它由来自一个或多个维度的单个成员的有序集合组成。元组用于标识来自多维数据集的特定多维数据块;由来自多维数据集中各个维度的一个成员组成的元组完全描述单元值。,换言之,元组是一种成员向量;请把元组看作基础数据库中的一个或多个记录,其这些列内的值归入这些分类。一系列关系图给出了元组的各种类型。,29,2025/4/29 周二,多维数据集的阴影部分表示,(,时间,.,下半年,),元组。请注意该元组包括了多维数据集的一半,因为它未排除,源,或,路线,维度中的任何信息。,30,2025/4/29 周二,下面的关系图加入阴影以表现,(,时间,.,下半年,路线,.,非陆地,.,航空,),元组。,31,2025/4/29 周二,在,MDX,中,元组根据其复杂性依照语法进行构造。如果它仅由来自单个维度的一个成员组成(通常称作简单元组),则以下语法是可接受的:,时间,.,下半年,如果它由来自不止一个维度的成员组成,则元组所表示的成员必须括在圆括号内,如以下示例所示。,(,时间,.,下半年,路线,.,非陆地,.,航空,),32,2025/4/29 周二,2.2.3,集合,集合是零个、一个或多个元组的有序集合。集合最常用于在,MDX,查询中定义轴维度和切片器维度,并且同样可能只具有单个元组或可能在某些情况下为空。下面的示例显示具有两个元组的集合:,(,时间,.,上半年,路线,.,非陆地,.,航空,),(,时间,.,下半年,路线,.,非陆地,.,海路,),33,2025/4/29 周二,集合指以元组表示的一组成员组合,或指集合中的元组所代表的单元中的值,视集合使用的上下文而定。,在,MDX,语法中,元组用花括号括起来以构造集合。,34,2025/4/29 周二,对,MDX,的基本内容介绍到这里。如果您还希望了解更多的话,可以阅读,sql server 2000,的帮助文档。,35,2025/4/29 周二,
展开阅读全文