MDX的基本语法及概念

上传人:ji****72 文档编号:46544758 上传时间:2018-06-27 格式:PDF 页数:35 大小:173.86KB
返回 下载 相关 举报
MDX的基本语法及概念_第1页
第1页 / 共35页
MDX的基本语法及概念_第2页
第2页 / 共35页
MDX的基本语法及概念_第3页
第3页 / 共35页
MDX的基本语法及概念_第4页
第4页 / 共35页
MDX的基本语法及概念_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《MDX的基本语法及概念》由会员分享,可在线阅读,更多相关《MDX的基本语法及概念(35页珍藏版)》请在金锄头文库上搜索。

1、MDXMDXMDXMDX的基本语法及概念的基本语法及概念1. 1. 1. 1. MDXMDXMDXMDX 简介简介 MDX(multi-dimensional expressions多 维表达式)是一种语法,支持多维对象与 数据的定义和操作。1.1 1.1 1.1 1.1 MDXMDXMDXMDX与与SQLSQLSQLSQL MDX 在很多方面与结构化查询语言 (SQL) 语法相似,但它不是 SQL 语言的扩展; 事实上,MDX 所提供的一些功能也可由 SQL 提供,尽管不是那么有效或直观。 如同 SQL 查询一样,每个 MDX 查询都 要求有数据请求(SELECT 子句)、起始 点(FROM

2、 子句)和筛选(WHERE 子 句)。 这些关键字以及其它关键字提供了各种工 具,用来从多维数据集析取数据的特定部 分。1.2 1.2 1.2 1.2 MDXMDXMDXMDX 中的重要概念中的重要概念 多维表达式 (MDX) 的用途是使对多个维 度的数据的访问更为简单和直观。它的主 要概念如下: 维度维度( ( ( (DimensionsDimensionsDimensionsDimensions) ) ) )、级别、级别( ( ( (LevelsLevelsLevelsLevels) ) ) )、成员、成员 ( ( ( (MembersMembersMembersMembers) ) )

3、)和度量值和度量值( ( ( (MeasuresMeasuresMeasuresMeasures) ) ) ) 单元单元( ( ( (CellsCellsCellsCells) ) ) )、元组、元组( ( ( (TuplesTuplesTuplesTuples) ) ) )和集合和集合( ( ( (SetsSetsSetsSets) ) ) ) 轴维度和切片器维度轴维度和切片器维度( ( ( (AxisAxisAxisAxis andandandand SlicerSlicerSlicerSlicer DimensionsDimensionsDimensionsDimensions) ) )

4、 ) 在传统的关系数据库中,用于数据定义和 操作的大多数语言(如 SQL)都设计为在 两个维度中检索数据:列维度和行维度。 下面的关系图说明一个用于存储定单信息 的传统关系数据库。1.2.1 1.2.1 1.2.1 1.2.1 维度维度( ( ( (DimensionsDimensionsDimensionsDimensions) ) ) )、级别、级别( ( ( (LevelsLevelsLevelsLevels) ) ) )、成、成 员员( ( ( (MembersMembersMembersMembers) ) ) )和度量值和度量值( ( ( (MeasuresMeasuresMeas

5、uresMeasures) ) ) )各个表均提供二维数据。各行与各列的交集 是一单个数据元素,称为字段。要在 SQL 查询中查看 的特定列用 SELECT 语句进行指定,而要检索的行用 WHERE 子句加以限定。 而对于多维数据,则可以用具有两个以上 维度维度( ( ( (DimensionsDimensionsDimensionsDimensions) ) ) )的结构来表示。这些称 作多维数据集的结构具有多个维度。 在多维数据集中维度的交集处,可能有不 止一个数据元素,这些数据元素称为度量度量 值值( ( ( (MensuresMensuresMensuresMensures) ) )

6、)。 上面的关系图说明使用三个维度维度(“路线”、 “源“和“时间“)和两个度量值度量值(“包“和“上 一次“)的多维数据集。各个维度分成不同 的级别级别( ( ( (LevelsLevelsLevelsLevels) ) ) ),而每个级又进一步分为成成 员员( ( ( (MembersMembersMembersMembers) ) ) )。 例如,“源“维度提供“东半球“级别,该级 别又分为四个成员,“非洲“、“亚洲“、“澳 大利亚“和“欧洲“。 如您所见,即使是从多维数据源中查询简 单数据也可能是一项复杂的任务。例如, 多维数据集可以有三个以上的维度,或者 可以只有一个维度。 多维数据

7、集、维度、级别、成员、度量值 的概念对于理解 MDX 语法很重要。如果 您还不理解,可以查找其他资料以进一步 了解这些主题1.2.2 1.2.2 1.2.2 1.2.2 单元单元( ( ( (CellCellCellCell) ) ) )、元组、元组( ( ( (TupleTupleTupleTuple) ) ) )和集合和集合( ( ( (SetSetSetSet) ) ) ) SQL 从表返回二维数据子集,而 MDX 从多维数据集返回多维数据子集。 多维数据集关系图表明多维成员多维成员的交集创 建单元单元( ( ( (CellsCellsCellsCells) ) ) ),从这些单元单元可

8、以获取数据。 为标识和析取这类数据(不管这些数据是 单个单元还是单元块),MDX 使用称为元元 组组( ( ( (TuplesTuplesTuplesTuples) ) ) )的参照系。 元组列出维度和成员来标识多维数据集内 的单个单元和更大的单元部分;因为各个各个 单元是多维数据集所有维度的交集单元是多维数据集所有维度的交集,所以 元组可以唯一标识多维数据集中的每个单 元。为起到参照的作用,将多维数据集中将多维数据集中 的度量视为该多维数据集本身中的一个专的度量视为该多维数据集本身中的一个专 用维度,名为用维度,名为“ “ “ “度量值度量值“ “ “ “。 例如,在前面的关系图中,以下元组

9、标识 其中值为 400 的单元: (源.东半球.非洲, 时间.下半年.第四季 度, 路线.航空, 度量值.包) 元组元组唯一标识多维数据集中的一部分;它 不必指某个特定单元,也不必包括多维数 据集中的所有维度。以下示例均为多维数 据集关系图的元组: (源.东半球) (时间.下半年, 源.西半球) 元组的有序集合称为集合集合( ( ( (SetSetSetSet) ) ) )。在 MDX 查询中,轴维度和切片器维度由这种元组 集合组成。以下示例是对关系图内多维数 据集中的一个元组集合的描述。 (时间.上半年.第一季度), 时间.第二 季度.第三季度) 1.2.3 1.2.3 1.2.3 1.2.

10、3 轴维度和切片器维度轴维度和切片器维度 在 SQL 中,通常需要限制对表的查询所 返回的数据量。 例如,可能希望只看到有四十个字段的表 中的两个字段,而且如果有满足特定条件 的第三个字段,也只看到两个字段。可以 通过在 SELECT 语句中指定列,并使用 WHERE 语句基于特定准则限制所返回的 行来完成此任务。 在 MDX 中,这些概念也适用。SELECT 语句用来选择要返回的维度和成员,称之 为轴维度轴维度。WHERE 语句用来将返回的数 据限定为特定维度和成员条件,称之为切切 片器维度片器维度。 轴维度预期返回多个成员的数据,而切片 器维度预期返回单个成员的数据。 下面的部分还将对以上

11、概念进行更详细的 介绍2. 基本MDX 多维表达式 (MDX) 命令使您得以查询多 维数据集之类的多维对象并返回多维数据 集。 与 SQL 的情况一样,MDX 查询的作者 在编写查询前必须确定所请求数据集的结 构。2.1 基本基本 MDXMDXMDXMDX 查询查询 基本多维表达式 (MDX) 查询以与下面的 示例类似的方式进行构造: SELECT , . FROM WHERE 2.1.1 SELECTSELECTSELECTSELECT 语句语句 在 MDX 中,SELECT 语句用于指定包含 多维数据的子集的数据集。2.1.2 基本基本 MDXMDXMDXMDX 查询示例查询示例 以下 M

12、DX 查询示例用于讨论基本的 MDX SELECT 语句语法的各个部分:SELECT Measures.Unit Sales, Measures.Store Sales ON COLUMNS, Time.1997, Time.1998 ON ROWS FROM Sales WHERE ( Store.USA.CA ) 基本的 MDX SELECT 语句包含一个 SELECT 子句和一个 FROM 子句,以及 一个可选的 WHERE 子句。 SELECT 子句决定 MDX SELECT 语句 的轴维度。本 MDX 查询示例中定义了两 个轴维度。 FROM 子句决定当析取数据以填充 MDX SEL

13、ECT 语句的结果集时将使用哪个多维 数据源。 可选用的 WHERE 子句决定哪个维度或成 员用作切片器维度;这将数据的析取限制 于特定维度或成员。 本 MDX 查询示例使用 WHERE 子句来 将轴维度的数据析取限制于 Store 维度的 特定成员。2.2 2.2 2.2 2.2 成员、元组和集合成员、元组和集合 在开始创建多维表达式 (MDX) 查询之 前,应当理解成员、元组和集合的定义, 也要理解用于构造和引用这些元素的 MDX 语法。2.2.1成员成员 成员成员是代表维度中一次或多次数据出现的 项。 请把维度中的成员看作基础数据库中的一 个或多个记录,其该列内的值归入该分类。 成员是描

14、述多维数据集中的单元数据时的 最低参照层次。 例如,下面的关系图加入阴影以表示“时 间.下半年.第三季度“成员。2.2.2元组元组 元组用于定义来自多维数据集的数据切 片;它由来自一个或多个维度的单个成员 的有序集合组成。元组用于标识来自多维 数据集的特定多维数据块;由来自多维数 据集中各个维度的一个成员组成的元组完 全描述单元值。 换言之,元组是一种成员向量;请把元组 看作基础数据库中的一个或多个记录,其 这些列内的值归入这些分类。一系列关系 图给出了元组的各种类型。多维数据集的阴影部分表示 (时间.下半 年) 元组。请注意该元组包括了多维数据集的一 半,因为它未排除“源“或“路线“维度中的

15、任何信息。下面的关系图加入阴影以表现 (时间.下 半年, 路线.非陆地.航空) 元组。 在 MDX 中,元组根据其复杂性依照语法 进行构造。如果它仅由来自单个维度的一 个成员组成(通常称作简单元组),则以 下语法是可接受的: 时间.下半年 如果它由来自不止一个维度的成员组成, 则元组所表示的成员必须括在圆括号内, 如以下示例所示。 (时间.下半年, 路线.非陆地.航空)2.2.3 集合 集合是零个、一个或多个元组的有序集合。 集合最常用于在 MDX 查询中定义轴维度 和切片器维度,并且同样可能只具有单个 元组或可能在某些情况下为空。下面的示 例显示具有两个元组的集合: (时间.上半年, 路线.非陆地.航空), (时间.下半年, 路线.非陆地.海路) 集合指以元组表示的一组成员组合,或指 集合中的元组所代表的单元中的值,视集 合使用的上下文而定。 在 MDX 语法中,元组用花括号括起来以 构造集合。对MDX的基本内容介绍到这里。如果您 还希望了解更多的话,可以阅读sql server 2000的帮助文档。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号