2012-04-13 106 views
0

选择
[措施] ON COLUMNS
,尾[Internet销售金额]

[日期] [日历年] [日历年] .MEMBERS
。 ,2
)ON ROWS
FROM [Adventure Works];SSAS - 顶部的总和或底部

以上MDX查询给我输出:

年互联网销售金额

CY 2003 $ 9,791,060.30

CY 2004年$ 9,770,899.74

我明白这是如何查询工作,但我想创建计算在一个立方体中测量,它总是会给我两年底的总和。这个怎么做?我是SSAS的新手。我很擅长设计简单的尺寸和尺寸,但在使用MDX时,我大多停滞不前。 PS:我尝试使用TopCount,BottomCount等,但在这里我想按“Year”排序,这是一个维度。

任何帮助,将不胜感激。

感谢,

帕里

回答

1

下面的查询计算和度量的近2年的时间维度:

WITH 
MEMBER [Measures].[Sales from the last 2 Years] 
    AS Aggregate(Tail([Date].[Calendar Year].[Calendar Year].Members, 2) 
       , [Measures].[Internet Sales Amount] 
       ) 

SELECT { [Measures].[Sales from the last 2 Years] 
     } ON COLUMNS 
    , { Tail([Date].[Calendar Year].[Calendar Year].Members, 2) 
     } ON ROWS 
    FROM [Adventure Works] 

其他有趣的查询,将计算的量度每年和之前的总和:

WITH 
MEMBER [Measures].[Sales from 2 years] 
    AS Aggregate({ [Date].[Calendar Year].CurrentMember.PrevMember 
        : [Date].[Calendar Year].CurrentMember } 
       , [Measures].[Internet Sales Amount] 
       ) 

SELECT { [Measures].[Internet Sales Amount] 
     , [Measures].[Sales from 2 years] 
     } ON COLUMNS 
    , NON EMPTY 
     { [Date].[Calendar Year].[Calendar Year] 
     } ON ROWS 
    FROM [Adventure Works] 

由于度量[Measures].[Internet Sales Amount]的聚合类型为Sum,并且Aggregate函数根据度量的聚合类型进行聚合,所以它执行了一个和。

MDX是一个很难的话题把握;如果你刚开始,我建议你阅读MDX Solutions, 2nd edition这本书。

+0

非常感谢Gonsalu。我试图把它付诸实践。但我在这里面临另一个问题..我必须在维度上使用NONEMPTY,并且某种程度上不起作用....在此粘贴实际代码...与 会员[措施]。[路标 - 停止吸烟服务2年] ) SELECT {[Measures]。[Signature - Stop smoking service。] [路标 - 停止吸烟服务] ) 作为集合2年] } ON COLUMNS ,{[Vw LSOA Hierarchy]。[LSOA CODE] } ON ROWS FROM [KPI] – 2012-04-13 16:13:01