- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
15高级多维数据集问题
第十五章 MDX的概述与常用函数 本章主要讲述以下内容: MDX概述 【了解】 Tuple与集合 【了解】 15.1 MDX概述 MDX (Multidimensional Expressions)-多维表达式。 MDX(多维表达式的英文首字母缩写词)是一种语法,支持多维对象与数据的定义和操作。MDX 在很多方面与结构化查询语言 (SQL) 语法相似,但它不是 SQL 语言的扩展;事实上,MDX 所提供的一些功能也可由 SQL 提供,尽管不是那么有效或直观。 如同 SQL 查询一样,每个 MDX 查询都要求有数据请求(SELECT 子句)、起始点(FROM 子句)和筛选(WHERE 子句)。这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据的特定部分。MDX 还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用用户定义函数扩展 MDX 的能力。 如同 SQL,MDX 提供管理数据结构的数据定义语言 (DDL) 语法。其中有用于创建(和删除)多维数据集、维度、度量值以及它们的坐标对象的 MDX 命令。 15.1 MDX概述 SQL 和 MDX 比较 多维表达式 (MDX) 语法乍看起来与结构化查询语言 (SQL) 的语法非常相似。在很多方面,MDX 所提供的功能也与 SQL 相似;甚至经过努力可以在 SQL 中复制某些由 MDX 提供的功能。 然而,SQL 和 MDX 之间存在一些显著区别。SQL 和 MDX 之间最显著的区别在于 MDX 具有引用多个维度的能力。尽管在 Microsoft? SQL Server? 2000 Analysis Services 中存在单独使用 SQL 查询多维数据集的可能性,但是 MDX 所提供的命令却可以专门检索具有几乎任意多个维度的多维数据结构中的数据。 SQL 处理查询时仅涉及列和行这两个维度。因为 SQL 只设计用来处理二维表格格式数据,所以列和行这两个术语在 SQL 语法中具有意义。 比较而言,MDX 在查询中则可处理一个、两个、三个或更多的维度。因为 MDX 中可以使用多个维度,所以每个维度称作一个轴。MDX 中的列和行这两个术语在 MDX 查询中仅用作前两个轴维度的别名;还有其它指派了别名的维度,但对于 MDX 这些别名本身没有真实意义。MDX 支持这些别名是为了显示。 15.1 MDX概述 在 SQL 中,SELECT 子句用于定义查询的列布局,而 WHERE 子句用于定义行布局。可是在 MDX 中 SELECT 子句可用于定义几个轴维度,而 WHERE 子句可用来多维数据限制于特定的维度或成员。 在 SQL 中,WHERE 子句用于筛选查询所返回的数据。在 MDX 中,WHERE 子句用于提供查询所返回的数据切片。虽然这两个概念相似,却不可等同。 SQL 查询使用 WHERE 子句包含应该或不应该在结果集中返回的项目的任意列表。虽然筛选中长的条件列表可以缩小所检索数据的范围,但是不要求子句中的元素必须产生清晰而简洁的数据子集。 然而在 MDX 中,切片的概念意味着 WHERE 子句中的各个成员标识来自不同维度的数据的不同部分。由于多维数据的结构化结构,不可能请求同一维度的多个成员的切片。因为这一点,MDX 中的 WHERE 子句能提供清晰而简洁的数据子集。 创建 SQL 查询的过程也与创建 MDX 查询的过程不同。SQL 查询的创建者将二维行集的结构形象化并加以定义,并且编写对一个或多个表的查询对该结构进行填充。相反,MDX 查询的创建者通常将多维数据集的结构形象化并加以定义,并且编写对单个多维数据集的查询对该结构进行填充。这可能导致多维数据集具有任意数量的维度,例如,可能存在一个维度的数据集。 15.1 MDX概述 SQL 结果集的视觉形象是直观的;集合是一个行与列组成的二维表格。但是,MDX 结果集的视觉形象就不直观。因为多维结果集可以有三个以上的维度,所以将该结构形象化比较困难。要在 SQL 中引用这些二维数据,在引用称为字段的单个数据单元时,可以使用适合于数据的任何方法,列名称和行的唯一标识均可。但是,MDX 在引用数据单元时,不管数据形成的是单个单元还是一组单元,都使用一种非常特定并且统一的语法。 尽管 SQL 和 MDX 具有相似的语法,但是 MDX 语法功能异常强大,而且,它可以非常复杂。然而,因为设计 MDX 本来意图是为了提供一种查询多维数据的简单而有效的方法,所以它采用了一致且易于理解的方式使用户认清二维查询和多维查询在概念上的区别。 15.1 MDX概述 MDX中的几个重要的概念 维度、级别、成员和度量值 1,成员的表达方式与函数 一般成员 “成员”(Member)是“维
文档评论(0)