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,00.30 2004年欧洲共同体9,770,899.74美元
我理解这个查询是如何工作的,但是我想要在一个立方体中创建计算的度量,它总是给我最后两年的和。怎么做?我是SSAS的新手。我擅长设计简单的度量和尺寸,但当涉及到使用MDX时,我大部分时间都被困住了。
PS:我试过使用TopCount、BottomCount等,但这里我想按“年份”订购,这是一个维度。
任何帮助都将不胜感激。
谢谢,
帕里
发布于 2012-04-13 15:14:10
以下查询计算日期维度最后两年的总和的度量值:
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解决方案,第二版”一书。
https://stackoverflow.com/questions/10141966
复制相似问题