多维查询表达式MDX基础知识介绍

数据库 SQL Server
本文我们主要介绍了多维查询表达式MDX的一些基础知识,包括MDX的作用、MDX的基本结构、MDX的查询语句等,希望能够对您有所帮助。

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

MDX 可以用来进行以下操作:

1.calculated members (计算成员)

2.Calculated Cells (计算单元)

3.Security Settion (安全设置)

4.Custom member formula ( 自定义函数 )

5.Custom level rollup ()

6.Actions (动作)

7.Named “ sets ” ( 命名集合 )

8.Server side formatting (服务器数据格式化)

MDX 的基本结构

MDX 的基本结构有三种: Members 、 Tuple 、 Set 。

1.Members :指的是维度树上的一个节点,这里有一点需要指出,量度也是一个特殊的维度,所以对于普通维度上的 Member 可以有几下几种表示方法: [Customer] 或 [Time].[1996] 等,对于特殊的维度——量度而言,也可以表示一个 Member ,如: [Measures].[ unit sales] 等。

Member 的表示方法就是用中括号的形式,“ [……] ”。

2.Tuple :是由若干个 Members 组成,每一个维度上最多只能有一个 Member ,对于一个 Tuple 而言至少有一个维度,多则不限,同时对于没有列出来的那就表示为默认的 Member 。 Tuple 的表示方法是小括号“ () ”,因为其又有 Member 构成,所以通常的格式为“ ([…],[…][…],…) ”;示例:

a)([Regin ].[USA])

b)([product].[ computers],[time].[2008]) 。

3.Sets :同一维度上若干个 Members 的集合,或者是若干个 Tuples 的集合,但这里有一个地方需要注意,那就是如果是若干个 Tuple 组成的集合是,各个 Tuple 里的 Member 之间存在着一定的对应关系。集合的表示方法用大括号“ {} ”,所以可能的表示方法为:

a){[time].[2008],[time].[2009],[time].[2000]} ,这里 Set 是由同一维度的若干个 Member 组成。

b){([computer],[usa ]),([ mobile],[china])} ,这个 Set 是由两个 Tuples 组成,这里大家可以看到,在***个 Tuple 当中,***个 Member 是名为 computer 的产品,所以后面的 Tuple 的***个 Member 也必须是一个产品,所以我们这里看到的是 mobile ,***个 Tuple 里第二个 Member 是一个国家,所以第二个 Tuple 的第二个 Member 也必须是一个国家名,依次类推。

MDX 查询语句

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

一个标准的 MDX 查询的语法如下:

 

  1. SELECT Set ON COLUMNS,  
  2. Set ON ROWS  
  3. FROM Cube  
  4. WHERE Tuple 

 

示例:

 

  1. SELECT  
  2. {[time].[ 1997],[time].[1998]}  
  3. ON COLUMNS,  
  4. {([product].[drink],[customer].[gender].[F]),( [product].[food],[customer].[gender].[M])}  
  5. ON ROWS  
  6. FROM  
  7. [Sales]  
  8. WHERE  
  9. ([Measures].[ StoreSales ]) 

 

这个MDX 查询就表示:查询时间为 1997 和 1998 两年的 drink 类产品,女消费者和 food 类产品男消费者的 Store Sales 。

关于多维查询表达式MDX基础知识就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. Oracle数据库PL/SQL快捷键设置详解
  2. Oracle数据库诊断工具RDA的安装与使用详解
  3. Oracle数据库GLOBAL_NAMES参数的详细研究
  4. Oracle数据库归档模式的切换及其相关操作详解
  5. Oracle 10g UNDO表空间过大导致磁盘空间不足的解决
责任编辑:赵鹏 来源: 博客园
相关推荐

2009-09-17 11:08:55

LINQ查询表达式

2009-07-03 18:31:04

JSP表达式

2009-09-10 15:35:07

LINQ查询表达式

2011-10-28 16:34:13

LINQ

2022-12-28 08:03:02

Groovy语法GPath

2009-09-17 09:15:49

Linq表达式树

2009-09-17 10:40:22

Linq Lambda

2011-11-04 17:26:12

2009-09-15 17:30:00

Linq Lambda

2009-08-27 09:13:28

LINQ查询表达式

2009-09-07 17:18:33

LINQ查询表达式

2009-09-11 09:53:16

Linq查询表达式

2011-06-16 16:05:23

正则表达式

2010-03-11 08:55:45

python正则表达式

2011-06-16 15:40:28

正则表达式

2009-09-14 14:49:12

LINQ查询基础知识

2009-11-05 09:51:14

WCF基础

2009-08-11 15:17:12

C#基础知识

2009-08-13 15:40:28

C#基础知识

2015-07-17 16:49:13

OpenStack开源云平台云计算
点赞
收藏

51CTO技术栈公众号