多维查询表达式MDX基础知识介绍
2011-09-06 11:44
357 查看
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 查询的语法如下:
Set ON ROWS
FROM Cube
WHERE Tuple
示例:
{[time].[ 1997],[time].[1998]}
ON COLUMNS,
{([product].[drink],[customer].[gender].[F]),( [product].[food],[customer].[gender].[M])}
ON ROWS
FROM
[Sales]
WHERE
([Measures].[ StoreSales ])
这个MDX 查询就表示:查询时间为 1997 和 1998 两年的 drink 类产品,女消费者和 food 类产品男消费者的 Store Sales 。
关于多维查询表达式MDX基础知识就介绍到这里了,希望本次的介绍能够对您有所收获!
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 查询的语法如下:
SELECT Set ON COLUMNS,
Set ON ROWS
FROM Cube
WHERE Tuple
示例:
SELECT
{[time].[ 1997],[time].[1998]}
ON COLUMNS,
{([product].[drink],[customer].[gender].[F]),( [product].[food],[customer].[gender].[M])}
ON ROWS
FROM
[Sales]
WHERE
([Measures].[ StoreSales ])
这个MDX 查询就表示:查询时间为 1997 和 1998 两年的 drink 类产品,女消费者和 food 类产品男消费者的 Store Sales 。
关于多维查询表达式MDX基础知识就介绍到这里了,希望本次的介绍能够对您有所收获!
相关文章推荐
- 多维查询表达式MDX基础知识介绍
- C++11 正则表达式——基础知识介绍
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- C++11 正则表达式——基础知识介绍
- C++11 正则表达式——基础知识介绍
- 【C#基础知识】之常量、变量、枚举、字符串、转义符、运算符及表达式、try...catch等简单介绍
- 查询表达式基础知识
- 正则表达式基础知识入门介绍
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
- 多维查询表达式--MDX教程
- C++11 正则表达式——基础知识介绍
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- C# 中Linq的学习(查询表达式基础知识)示例
- 第7章 sed、gawk介绍与正则表达式-----------(sed编辑器基础知识)
- Linux系统下C语言编程基础知识介绍
- shell 脚本基础知识详细介绍(二)
- 翻译介绍15个经典的MDX查询-06&07
- C#基础知识-XML介绍及基本操作
- 代理服务器基础知识详细介绍