mdx的基本语法及概念

上传人:艾力 文档编号:37666192 上传时间:2018-04-20 格式:PPT 页数:35 大小:243KB
返回 下载 相关 举报
mdx的基本语法及概念_第1页
第1页 / 共35页
mdx的基本语法及概念_第2页
第2页 / 共35页
mdx的基本语法及概念_第3页
第3页 / 共35页
mdx的基本语法及概念_第4页
第4页 / 共35页
mdx的基本语法及概念_第5页
第5页 / 共35页
点击查看更多>>
资源描述

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

1、MDX的基本语法及概念1. MDX 简介 MDX(multi-dimensional expressions多维表 达式)是一种语法,支持多维对象与数据 的定义和操作。1.1 MDX与SQL MDX 在很多方面与结构化查询语言 (SQL) 语 法相似,但它不是 SQL 语言的扩展;事实 上,MDX 所提供的一些功能也可由 SQL 提 供,尽管不是那么有效或直观。 如同 SQL 查询一样,每个 MDX 查询都要求 有数据请求(SELECT 子句)、起始点( FROM 子句)和筛选(WHERE 子句)。 这些关键字以及其它关键字提供了各种工 具,用来从多维数据集析取数据的特定部 分。1.2 MDX

2、 中的重要概念 多维表达式 (MDX) 的用途是使对多个维度 的数据的访问更为简单和直观。它的主要 概念如下: 维度(Dimensions)、层级(Levels)、成员 (Members)和度量值(Measures) 单元(Cells)、元组(Tuples)和集合(Sets) 轴维度和切片器维度(Axis and Slicer Dimensions) 在传统的关系数据库中,用于数据定义和 操作的大多数语言(如 SQL)都设计为在两 个维度中检索数据:列维度和行维度。 下面的关系图说明一个用于存储定单信息 的传统关系数据库。1.2.1 维度(Dimensions)、层级(Levels)、成员 (

3、Members)和度量值(Measures)各个表均提供二维数据。各行与各列的交集是一单 个数据元素,称为字段。要在 SQL 查询中查看的特定列 用 SELECT 语句进行指定,而要检索的行用 WHERE 子句 加以限定。 而对于多维数据,则可以用具有两个以上 维度(Dimensions)的结构来表示。这些称作 多维数据集的结构具有多个维度。 在多维数据集中维度的交集处,可能有不 止一个数据元素,这些数据元素称为度量 值(Mensures)。 上面的关系图说明使用三个维度(“路线”、 “源“和“时间“)和两个度量值(“包“和“上一 次“)的多维数据集。各个维度分成不同的 层级(Levels),

4、而每个级又进一步分为成员 (Members)。 例如,“源“维度提供“东半球“层级,该层级 又分为四个成员,“非洲“、“亚洲“、“澳大 利亚“和“欧洲“。 如您所见,即使是从多维数据源中查询简 单数据也可能是一项复杂的任务。例如, 多维数据集可以有三个以上的维度,或者 可以只有一个维度。 多维数据集、维度、层级、成员、度量值 的概念对于理解 MDX 语法很重要。如果您 还不理解,可以查找其他资料以进一步了 解这些主题1.2.2 单元(Cell)、元组(Tuple)和集合(Set) SQL 从表返回二维数据子集,而 MDX 从多 维数据集返回多维数据子集。 多维数据集关系图表明多维成员的交集创

5、建单元(Cells),从这些单元可以获取数据。 为标识和析取这类数据(不管这些数据是 单个单元还是单元块),MDX 使用称为元 组(Tuples)的参照系。 元组列出维度和成员来标识多维数据集内 的单个单元和更大的单元部分;因为各个 单元是多维数据集所有维度的交集,所以 元组可以唯一标识多维数据集中的每个单 元。为起到参照的作用,将多维数据集中 的度量视为该多维数据集本身中的一个专 用维度,名为“度量值“。 例如,在前面的关系图中,以下元组标识 其中值为 400 的单元: (源.东半球.非洲, 时间.下半年.第四季度, 路线.航空, 度量值.包) 元组唯一标识多维数据集中的一部分;它 不必指某

6、个特定单元,也不必包括多维数 据集中的所有维度。以下示例均为多维数 据集关系图的元组: (源.东半球) (时间.下半年, 源.西半球) 元组的有序集合称为集合(Set)。在 MDX 查 询中,轴维度和切片器维度由这种元组集 合组成。以下示例是对关系图内多维数据 集中的一个元组集合的描述。 (时间.上半年.第一季度), 时间.第二季度 .第三季度) 1.2.3 轴维度和切片器维度 在 SQL 中,通常需要限制对表的查询所返 回的数据量。 例如,可能希望只看到有四十个字段的表 中的两个字段,而且如果有满足特定条件 的第三个字段,也只看到两个字段。可以 通过在 SELECT 语句中指定列,并使用 W

7、HERE 语句基于特定准则限制所返回的行 来完成此任务。 在 MDX 中,这些概念也适用。SELECT 语句 用来选择要返回的维度和成员,称之为轴 维度。WHERE 语句用来将返回的数据限定 为特定维度和成员条件,称之为切片器维 度。 轴维度预期返回多个成员的数据,而切片 器维度预期返回单个成员的数据。 下面的部分还将对以上概念进行更详细的 介绍2. 基本MDX 多维表达式 (MDX) 命令使您得以查询多维 数据集之类的多维对象并返回多维数据集 。 与 SQL 的情况一样,MDX 查询的作者在编 写查询前必须确定所请求数据集的结构。2.1 基本 MDX 查询 基本多维表达式 (MDX) 查询以

8、与下面的示 例类似的方式进行构造: SELECT , . FROM WHERE 2.1.1 SELECT 语句 在 MDX 中,SELECT 语句用于指定包含多维 数据的子集的数据集。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 ) 基本的 MDX SELECT 语句包含一个 SELE

9、CT 子 句和一个 FROM 子句,以及一个可选的 WHERE 子句。 SELECT 子句决定 MDX SELECT 语句的轴维度 。本 MDX 查询示例中定义了两个轴维度。 FROM 子句决定当析取数据以填充 MDX SELECT 语句的结果集时将使用哪个多维数 据源。 可选用的 WHERE 子句决定哪个维度或成员 用作切片器维度;这将数据的析取限制于 特定维度或成员。 本 MDX 查询示例使用 WHERE 子句来将轴维 度的数据析取限制于 Store 维度的特定成员 。2.2 成员、元组和集合 在开始创建多维表达式 (MDX) 查询之前, 应当理解成员、元组和集合的定义,也要 理解用于构造

10、和引用这些元素的 MDX 语法 。2.2.1成员 成员是代表维度中一次或多次数据出现的 项。 请把维度中的成员看作基础数据库中的一 个或多个记录,其该列内的值归入该分类 。成员是描述多维数据集中的单元数据时 的最低参照层次。 例如,下面的关系图加入阴影以表示“时间 .下半年.第三季度“成员。2.2.2元组 元组用于定义来自多维数据集的数据切片 ;它由来自一个或多个维度的单个成员的 有序集合组成。元组用于标识来自多维数 据集的特定多维数据块;由来自多维数据 集中各个维度的一个成员组成的元组完全 描述单元值。 换言之,元组是一种成员向量;请把元组 看作基础数据库中的一个或多个记录,其 这些列内的值

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

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

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

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