MDX入门1

members, Allmembers.  列出该维度属性或者层次结构的所有子孙成员.

children. 列出该维度的成员

Descendant (member, level, flag)获取成员的后代成员集. (是集)

image

例如image 行是产品的所有分类包括小类.

维度如下image. 发现有个product categories层次结构. 结构第一个成员是All Products. 然后是大类=>小类=>详细产品.

image通过左图的查询. 这次使用self级别. 意思是, 返回All Products成员下的第一代子成员.

如果把level改为2, 当然是All Products的第二代子成员(这时All Products是爷爷, 找出来的是孙子集.). 如果改为0呢. 那显然就是自身了.

image.

相当于这样. row轴上直接 [Product].[Product Categories] 和 [Product].[Product Categories].[All Products].

 

在任何轴, 维度, 元素外 加上 Not Empty {}, 都可以切除空数据成员(没有任何数据, 比如某行四列, 都没有数据).

 

CrossJoin(set1, set2) 关键字. 能获取到两个集的所有可能的组合.有点类似于sql的两张表的笛卡尔乘积. CrossJoin还能嵌套CrossJoin(CrossJoin(set1, set2) , set2)

示例, 我们想查看女式用品在 2002年和2003年的网售额和代售额. 查询如下.image

改为crossjoin如下

select 
crossjoin( 
{[Measures].[Internet Sales Amount],[Measures].[Internet Sales Amount]},
{[Date].[Fiscal Year].[FY 2002],[Date].[Fiscal Year].[FY 2003]} 
)on 0,
{[Product].[Style].[Womens]}on 1
from [step-by-step]
2*2的矩阵. 得到同样的结果. . 貌似两个

记住. 集是元组的有序集合

Filter().

image

Order()

image

posted @ 2012-02-28 11:23  MyCoolDog  阅读(682)  评论(0编辑  收藏  举报