MDX查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaocxks/article/details/52668162

MDX基本多维表达式查询就是SELECT语句

1)指定结果集

select语句可指定一个结果集,其中包含从多维数据集中返回的多维数据子集

结果集中包含的轴数,最多可以指定128个轴

(但一般用不了这么多,大概就5个,如果用数字表示,0,1,2,3,4

也可以使用COLUMNS,ROWS,PAGES,SECTIONS,CHAPTERS别名

或者使用AXIS(0),AXIS(1),AXIS(2) 等,

MDX不能跳过查询轴,就是包括一个或多个查询轴的查询不能排除编号较低的轴或中间轴)

在各个轴上的成员或元组集

包括多维数据集的名称

包括在切片器轴上的成员或元组集

2)基本单位

成员:[ ]

元组:()

集:{ }

3)指定查询轴的内容

[ NON EMPTY ] Set_Expression [ <SELECT dimension property list clause> ] [<HAVING clause>]  
   ON {  
      Integer_Expression |   
      AXIS( Integer_Expression ) |   
      {COLUMNS | ROWS | PAGES | SECTIONS | CHAPTERS}     
      } 

ON后面的表示轴数

NON EMPTY从轴中删除所有空元组

HAVING自居基于特定条件筛选某个轴的内容

例如

SELECT {[Measures].[Internet Sales Amount]}   
ON COLUMNS,  
NON EMPTY  
{[Date].[Calendar].[Date].MEMBERS}   
HAVING [Measures].[Internet Sales Amount]>15000  
ON ROWS  
FROM [Adventure Works]

4)指定切片器轴的内容

切片器轴将对SELECT语句返回的数据进行筛选,限定返回的数据

<SELECT slicer axis clause> ::=  WHERE Set_Expression  

如果要使用来自同一层次结构的多个成员,需要在where子句中包括一个集

SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,  
[Date].[Calendar Year].MEMBERS ON ROWS  
FROM [Adventure Works]  
WHERE(  
{[Customer].[Customer Geography].[Country].&[United States]  
, [Customer].[Customer Geography].[Country].&[United Kingdom]}  
, [Product].[Category].&[1])  
  

上述查询说明了针对在 Category Bikes 中购买了产品并居住在美国或英国的客户的所有日历年的 Internet Sales Amount 的值

5)


使用members函数指明MDX将使用层次结构或级别的成员来构造一个集

使用Members函数意味着不必再MDX查询中显示声明特定层次结构或级别的每个成员




猜你喜欢

转载自blog.csdn.net/xiaocxks/article/details/52668162
MDX
今日推荐