重设切片上下文

select  
{Filter(
   
[ Product ] . [ Category ] .Members,
    (
[ Measures ] . [ Unit Sales ] , [ Time ] . [ Quarter ] . [ Q4, 2005 ] )
   
> 1.4   * ( [ Measures ] . [ Unit Sales ] , [ Time ] . [ Q4, 2004 ] )
)}
on axis( 0 )
From sales
where ( [ Time ] . [ 2005 ] , [ Measures ] . [ Dollar Sales ] )

      切片设置[Time].[2005]和[Measures].[Dollar Sales],但Filter()函数表达式在[Time].[q4,2005]和[Time].[q4,2004]上比较[Measures].[Unite Sales]。用于Filter()函数中的表达式,或用于决定任何其他部分的表达式,能够有选择性地去依靠或者重设单元上下文的任何部分。所以结果是2005年的Dollar Sales,但筛选条件完全是其他时间周期的Unit Sales。

      尽管我们突出了列轴,但下面的说法对所有轴都是成立的:

      1)每个轴的求值都从Where子句中获得单元上下文。

      2)每个轴都可以独立地求值。

      比如上面的例子,虽然轴axis(0)where中获得的上下文是 ([Time].[2005], [Measures].[Dollar Sales]),但axis(0)中的Filter函数重设[Time]维度和 [Measures]维度的上下文为[Q4, 2005][Unit Sales],搜索的结果是:2005年第四季度[Unit Sales]比2004年第四季度大1.4倍的所有产品类别在2005年的[Dollar Sales]

 image

      查询的解析顺序是:from(求值)——》where(处理)——》With Set(求值)——》Axis(求值)每个轴——》Result cell(求值)

转载于:https://www.cnblogs.com/timy/archive/2009/11/21/1607827.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值