6.2、set、select、members、crossJoin

Set【集合】

 

1          Set【集合】由tuple【元组】组成,是一个或多个元组的集合,由【大括号】括起,逗号分隔,如:

{

         (tupleA),

         (tupleB),

         ………

}

 

2          Set中每一个元组的成员都对应相同的层次结构,和相同的排列顺序,否则将出错,如:

         {        //正确

                   ([Date].[YearNum].&[2015], [Date].[Month Num Of Year].&[5]),

                   ([Date].[YearNum].&[2016], [Date].[Month Num Of Year].&[6])

         }

{        //错误,两个元组中成员顺序不一致

                   ([Date].[YearNum].&[2015], [Date].[Month Num Of Year].&[5]),

                   ([Date].[Month Num OfYear].&[6], [Date].[Year Num].&[2016])

         }

{        //错误,两个元组中层次结构不一致

                   ([Date].[YearNum].&[2015], [Date].[Month Num Of Year].&[5]),

                   ([Date].[YearNum].&[20156], [Date].[Day Num Of Month].&[6])

         }

 

3          使用distinct函数过滤重复的元组

Distinct({set})

         Set中允许重复的元组存在,通过distinct可以过滤掉集合中重复的元组

 

4          理解select

4.1         Select的目的是获取cube中一组tuple【元组】,也即set集合

4.2         Select实际上是定义了一个新的cube空间,而这空间内的点也就是返回的set集合

4.3         每一个set可以成为select的一个轴,select最多可有128个轴,但一般只用两个轴,例:

Select

      Seton 0,

      Seton 1,

      ………

From cube

 

5          Where条件

5.1         切片轴,当where中只有一条轴时,称为切片分析

5.2         切块轴,当where中有多条轴时,成为切块分析

 

6          Members函数的使用

6.1         获取【层次结构】或者【层级】下的所有成员,例:

[dimension].[hierarchy].members

[dimension].[hierarchy].[level].members

Select [date].[year].members on 0

From cube

6.2         在select语句中,members返回的成员默认的成为一个个的局部元组,局部元组自动补齐后成为完整元组,多个完整元组组成set,所以,select中members返回的相当于是一个set

 

7          CrossJoin函数

7.1         可以让一个集合中的所有【元组】与另一个集合中的所有【元组】形成一个交叉组合:corssJoin(set1, set2, set3, ……)

7.2         crossJoin可以使用*【星号】代替,以上可改为:set1*set2*set3

7.3         交叉举例

select
         {
                   [Date].[YearNum].&[2016],
                   [Date].[Year Num].&[2015]
         }*{
                   [Date].[Month Num OfYear].&[5],
                   [Date].[Month Num OfYear].&[6]
         }on 0
from
         [Park]

等同于如下:

select
         {
                   ([Date].[YearNum].&[2016], [Date].[Month Num Of Year].&[5]),
                   ([Date].[YearNum].&[2016], [Date].[Month Num Of Year].&[6]),
                   ([Date].[YearNum].&[2015], [Date].[Month Num Of Year].&[5]),
                   ([Date].[YearNum].&[2015], [Date].[Month Num Of Year].&[6])
                  
         }on 0
from
         [Park]

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值