OLAP高级分析之MDX语言

什么是MDX

MDX是由Microsoft,Hyperion等公司研究多维查询表达式,是所有OLAP高级分析所采用的核心查询语言。

如同SQL查询一样,每个MDX 查询都要求有数据请求(SELECT子句)、起始点(FROM子句)和筛选(WHERE子句)。这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据特定部分。MDX还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用户定义函数扩展 MDX的能力。

MDX的使用方式

1、MDX查询语句

查询所需要的数据。

2、MDX表达式

定制需要的指标。

3、MDX脚本

指定流程由SQL执行生成自定义的效果。

MDX中的相关概念

1、多维数据集

2、度量值(量度)

3、维度

4、维度的层次结构

5、维度的级别

6、成员(Member)

7、元组(Tuple)

8、集(Set)

基本语法

一个标准的 MDX查询语句就是由我们前面介绍的 MDX的三个基本对象构成,也就是 Member、 Tuple、 Set。

1、SELECT SET ON COLUMNS,

SET ON ROWS

FROM CUBE

WHERE TUPLE

2、SELECT SET ON 0,

SET ON 1

FROM CUBE

WHERE TUPLE

简单MDX查询示例

想象一个简单的带有时间、销售地点和度量3个维度的多维数据集,该多维数据集的名称为销售额(即SALES)。其中度量包括销售额和成本。假如想查看2005年前两个季度马萨诸塞州的销售额与成本,如图所示。

我们可以通过下面的MDX获得想要的数据:

SELECT {[MEASURES].[DOLLAR SALES],[MEASURES].[UNIT SALES]} ON COLUMNS,

{[TIME].[2005].[Q1], [TIME].[2005].[Q2]} ON ROWS

FROM [SALES]

WHERE ([CUSTOMER].[MA])

MDX查询的结果本身是一个网格,本质上是另一个多维数据集。下面将这个简单的查询拆开来仔细研究。

关键字SELECT后带需要检索内容的子句。

关键字ON和轴的名称一起使用,以指定数据库的维度显示位置。该示例查询将度量显示为列,将时间段显示为行。

MDX用大括号{ }引用来自某个特点维度或者多个维度的一组元素。这个简单的查询在其两个轴中的每一个上都只有一个维度(度量维度和时间维度)。元素间用逗号隔开。元素名称用方括号引用,并且不同组成部分之间用点号分隔。

MDX能够的FROM子句指明用于查询数据的多维数据集。这与SQL中的FROM子句类似。

WHERE子句指定在列或行(或者其他轴上)不出现的多维数据集其他维度的成员。如果不对某个维度指定一个成员,MDX将使用默认成员。WHERE子句是可选的。

提示:MDX不是大小写敏感的,可以随心所欲的混用字母大小写。

转载请注明出处:前端开发 » OLAP高级分析之MDX语言

赞 (3)
分享到: 更多

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址