下面的查询计算和度量的近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这本书。
非常感谢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