如何在MDX中选择移位时间段?

如何在MDX中选择移位时间段?,mdx,olap,olap-cube,Mdx,Olap,Olap Cube,我是MDX的初学者。我正在尝试使用AdventureWorksCube计算上一年的收入增长,我将在一列中显示两年之间的收入差异。到目前为止,我能够使用以下方法手动计算差异: (KpiValue("Revenue"), [Date].[Fiscal Year].&[2009]) - KpiValue("Revenue"), [Date].[Fiscal Year].&[2008] (KpiValue("Revenue"), [Date].[Fiscal Year].&

我是MDX的初学者。我正在尝试使用AdventureWorksCube计算上一年的收入增长,我将在一列中显示两年之间的收入差异。到目前为止,我能够使用以下方法手动计算差异:

(KpiValue("Revenue"), [Date].[Fiscal Year].&[2009]) - KpiValue("Revenue"), 
[Date].[Fiscal Year].&[2008] 

(KpiValue("Revenue"), [Date].[Fiscal Year].&[2008]) - KpiValue("Revenue"), 
[Date].[Fiscal Year].&[2007] 

(KpiValue("Revenue"), [Date].[Fiscal Year].&[2007]) - KpiValue("Revenue"), 
[Date].[Fiscal Year].&[2006] 
你能建议我更有效的计算方法吗。我想我可以使用并行处理功能,但我很难理解它是如何工作的

谢谢大家!

编辑:

以下是我使用的代码:

with member [diff] as
(KPIValue("Revenue"), [Date].[Fiscal Year].&[2008]) -
(KPIValue("Revenue"), [Date].[Fiscal Year].&[2007])

Select
{diff} on 0
FROM [Adventure works]

尝试使用PrevMember

With 
Member [Measures].[Diff] as
[Measures].[Revenue] - ([Date].[Fiscal Year].PrevMember,[Measures].[Revenue])

Select 
[Measures].[Diff] on 0,
[Date].[Fiscal Year].[Year].Members on 1
From [Adventure Works]

你是不是在什么地方错过了一个会员?不是,是吗?[日期][会计年度]。如果未指定,则OLAP引擎会自动标记CurrentMember。@DanyloKorostil显式优于隐式。在许多情况下,OLAP引擎不会自动使用CURRENTMEMBER,而是使用ALL memberIt依赖于查询。通常算法是:CurrentMember->DefaultMember->AllMember。但这并不意味着。CurrentMember是。[所有]。