SELECT
[Measures].[Internet Sales Amount] ON COLUMNS
,Tail
(
[Date].[Calendar Year].[Calendar Year].MEMBERS
,2
) ON ROWS
FROM [Adventure Works];
以上MDX查询为我输出:
年度互联网销售额
CY 2003 $ 9,791,060.30
2004年CY $ 9,770,899.74
我理解这个查询是如何工作的,但我想在一个立方体中创建计算量度,它总是给我底部2年的总和。这该怎么做?我是SSAS的新手。我擅长设计简单的测量和尺寸,但是当谈到使用MDX时,我大多陷入困境。
PS:我尝试过使用TopCount,BottomCount等,但在这里我想按“年份”订购,这是一个维度。
任何帮助都将不胜感激。
谢谢,
帕里
答案 0 :(得分: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。