多维表达式(MDX)
- 格式:pptx
- 大小:1.97 MB
- 文档页数:38


Essbase学习笔记(二十一):我学习MDX查询语句的过程写在笔记的开头:Windows server 2003 + Hyperion 9.3.1 + MS SQL 2000这是我在学习Essbase过程中记录的笔记,全是我个人的理解,有理解不正确的地方,希望知情者指正,谢谢.在Essbase中使用MDX只能用于查询,尚不能来操作Cube(MS SSAS中可以使用MDX来操作Cube的),所以这里只学习MDX的Select语句。
在学习的过程中,我觉得最有难度的地方有两个。
一是,对OLAP多维的理解。
如同学习SQL一样,SQL作用的对象是表,表的结构都是二维的,标识行列即可;但是MDX作用的对象是多维数据库,那么就得理解多维数据库的维度,层级,成员,以及如何在多维数据库中定位不同层级的成员。
二是,理解MDX查询语句的结构及术语的含义。
学习SQL时,我们常提到表,字段,那么MDX中呢,想必这些术语必须理解,例如:Cube,Slice,Axis,Set,Tuple,Members我的学习经历是这样的,首先了解MDX语句的特点及功用。
“MDX全称是Mutil-Dimensional Expressions,即多为表达式。
MDX是一种和SQL类似的语言,它也可以用于查询、计算和定义一些元数据。
只不过SQL是基于OLTP的,而MDX是基于OLAP的,也就是说,MDX是对多维数据进行查询的。
和其它的OLAP语言不同,MDX并不完全是一种报告形式语言。
但用MDX查询出来的结果仍然可以在客户端程序中以表格形式进行展现。
MDX和SQL一样,也有很多不同功能的API来支持MDX,最常用到的就是XML API。
”上面的一段话是从网上摘录来的,给MDX做了一个定义。
接下来学习MDX查询语句的结构及组成。
[<with_section>]SELECT [<axis_specification>[, <axis_specification>...]][FROM [<cube_specification>]][WHERE [<slicer_specification>]]这个结构就是MDX查询语句的通用结构,从中要理解哪些是关键字以及关键字的顺序,WITH section、Axis、Cube、Slicer的位置。
MDX⼤部分常⽤函数4. MDX函数列表函数分类和说明基本上是直接从SQLServer Analysis Service拷贝的。
4.1 维度函数表⽰返回值为Dimension的函数.4.1.1 Dimension返回包含指定的成员、级别或层次结构的维度。
语法成员«Member».Dimension返回包含 «Member» 的维度。
级别«Level».Dimension返回包含 «Level» 的维度。
层次结构«Hierarchy».Dimension返回包含 «Hierarchy» 的维度。
4.1.2 Dimensions返回由数值表达式或字符串表达式指定的维度。
语法数字Dimensions(«Numeric Expression»)返回这样的维度,该维度在多维数据集中以零为基的位置是由 «Numeric Expression» 指定的。
说明 Measures 维度总由 Dimensions(0) 表⽰。
字符串Dimensions(«String Expression»)返回这样的维度,该维度的名称是由 «String Expression» 指定的。
注释Dimensions 函数的字符串版本通常⽤于⽤户定义的函数。
⽰例如果将 Time、Region 和 Product 维度添加到多维数据集(按照所列顺序),则下⾯的表达式将返回 Region:Dimensions(2)4.2 层级函数返回值为Hierarchy的函数。
注:实际上,在本⽂档中,我们⽐较少介绍Hierarchy的概念,因为我们建议⼀个维度只能有⼀个Hierarchy,这时,Hierarchy基本上等同于Dimension。
因此,⽤户可以不⽤层级函数。
MDX语言在OLAP中的应用本科毕业设计摘要OLAP是一项分析处理技术,它从企业的数据集合中收集信息,并运用数学运算和数据处理技术,灵活、交互式地提供统计、趋势分析和预测报告。
也可以说OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。
通过多种OLAP工具对数据仓库中的数据进行多维分析、汇总,形成图表或报表的形式,使企业的决策者可以清晰、直观地看到分析结果,这正是数据仓库系统所要达到的目的。
然而,OLAP中存放的只是数据基本信息,不存放商务规则,商务规则放在MDX建模中。
客户端写一条MDX语句,传给服务器端,传过去时实际上是一个XML/A(XML for analysis),返回来的也是一个XML/A文件。
MDX语句生成的对象不外乎MEMBER、TUPLE、SET三者:[MEMBER],(TUPLE),{SET}。
本文重点介绍MDX语言在OLAP中的应用和实现。
由于现在无论是书籍还是网上都没有系统的介绍MDX语言的实现和应用,本文就是本着可以在数据挖掘的过程中可以轻松使用MDX语言的目标进而整理和规范了MDX的一些介绍和使用。
并且本文还给出了若干个实例演示,其中从创建多维数据集,进行设计存储,到建立挖掘模型都给出了介绍,特别是如何用MDX语言进行分析和查询最终得到希望的结果作为本文的重中之重做了详细的介绍。
具体的说就是自己给自己一个问题,然后自己再分析,找出答案,分析答案。
真诚地希望通过本文可以对数据挖掘方面的工作有所帮助。
关键词:OALP;MDX;数据;数据挖掘AbstractOLAP is an analytical processing technology, which the data set from the enterprise to collect information and use of mathematical calculations and data processing technologies, flexible and interactive to provide statistics, trend analysis and forecasts. It can be said is to enable the analysis of OLAP, managers or executives from multi-angle information for fast, consistent, interactive access to obtain the data to gain a better understanding of a class of software technology.Through a variety of OLAP tools for data storage inmulti-dimensional data analysis, aggregation, formation of the form of a chart or report, business decision-makers can be clear and intuitive to see the results of the analysis, this is the data warehouse system to achieve the purpose of .However, OLAP data is stored in the basic information, do not store business rules, business rules modeling on the MDX. MDX client to write a statement to the server-side, when in fact the past Chuan is a XML / A (XML for analysis), is also a return to the XML / A file. MDX statement generated no more than objects MEMBER, TUPLE, SET: [MEMBER], (TUPLE), (SET).This article focuses on the MDX language of OLAP applications and to achieve. As both the book or the Internet do not have a systematic introduction of the MDX language and application of the realization of this paper is based on data mining in the process can easily use the target language MDX to organize and regulate the introduction of the MDX and use.And this article also gives examples of a number of demonstrations, which from the creation of multi-dimensional data sets, the design of storage, to establish a mining model are given to introduce, in particular how to use MDX query language for analysis and final results have been promising, as this article done the most important detail. That is specific to their ownquestion, and then their re-analysis, to find the answers, analyze the answers.Sincerely hope that through this paper, data mining can be helpful to work.Key words:OLAP;MDX;Data;Data Mining目录1 前言__________________________________________________________________ 3数据挖掘的应用_________________________________________________________ 3 OLAP简介_____________________________________________________________ 4 2. FoodMart2000的介绍 ___________________________________________________ 5 . FoodMart2000的安装____________________________________________________ 5多维数据集_____________________________________________________________ 7 FoodMart2000中的多维数据集 ___________________________________________ 11 3. MDX语言的介绍_______________________________________________________ 11 MDX语言的概念 _______________________________________________________ 12 MDX语言的表示 _______________________________________________________ 14基本MDX查询_________________________________________________________ 14执行MDX语言的环境__________________________________________________ 15 4. MDX实例_____________________________________________________________ 18切片__________________________________________________________________ 18切块__________________________________________________________________ 22旋转__________________________________________________________________ 26钻取__________________________________________________________________ 29 5. 结论 __________________________________________________________________ 33 6.参考文献_____________________________________________________________ 34致谢____________________________________________________________________ 35 1 前言数据挖掘的应用提到数据挖掘就得提到数据仓库,提到数据仓库就得提到仅有一字之差的数据库,那么数据仓库究竟如何从数据库技术进化而来?市场需求是技术发展的源动力。
【最新整理,下载后即可编辑】MDX用户指南第1章简介MDX为MultiDimensional Expressions的缩写,多维表达式,是标准的OLAP查询语言。
在多数OLAPServer都提供MDX支持,如Microsoft SQL Server OLAP Services,SAS,Hyperion Essbase 等。
支持多维对象与数据的定义和操作。
MDX 在很多方面与结构化查询语言(SQL) 语法相似,但它不是SQL 语言的扩展;事实上,MDX 所提供的一些功能也可由SQL 提供,尽管不是那么有效或直观。
如同SQL 查询一样,每个MDX 查询都要求有数据请求(SELECT 子句)、起始点(FROM 子句)和筛选(WHERE 子句)。
这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据的特定部分。
MDX 还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用用户定义函数扩展MDX 的能力。
MDX为多维数据库提供了表达式查询语法,用于查询Cube 数据,并提供了许多强大的分析函数,用于支持常用的OLAP 分析。
Kingdee OLAP实现了MDX语法,提供了大多数MDX函数,部分函数未实现,因为我们认为当前没有必要实现。
本文档后面会提供支持的函数列表。
本指南更像一本入门教程。
更为详细的信息可以参考SQLServer OLAP Services联机文档。
第2章基本概念2.1Cube结构在介绍MDX之前,我们简单介绍一下cube结构,理解cube结构是学习MDX的前提。
我们采用SQLServerOLAP Services自带的事例OLAP数据库FoodMart来描述。
我们建议你阅读《Olap模型设计指南》来学习、熟悉Cube结构。
Cube是联机分析的关键。
它们是一种多维结构,包括原始事实数据、聚合数据,这些数据聚合允许用户快速进行复杂查询。
Cube包含两个基本的概念:维度和度量。