MDX PrevMember 函数将返回同一级别的上一个成员。多维表达式中 Prevmember 函数的基本语法如下所示。
Member_Expression.PREVMEMBER
Member_Expression:任何返回有效成员的多维表达式。
MDX Prevmember 函数用于在同一级别的成员之间向后移动。例如,如果我们使用 City 成员作为 Member_Expression,则 Prevmember 函数将在剩余的 City 之间向后移动。它不会向上(State – Province)或向下(Postal Code)移动级别。
对于此 Prevmember 函数示例,我们将使用以下数据。

MDX Prevmember 函数示例
在此示例中,我们将向您展示如何在多维表达式查询中编写 PrevMember 函数。以下查询将返回 2012 年的 Reseller Sales 金额,因为 [CY 2013].PrevMember 将查找 2013 年之前的年份,即 2012 年。
SELECT [Date].[Calendar].[Calendar Year].[CY 2013].PREVMEMBER ON COLUMNS,
[Measures].[Reseller Sales Amount] ON ROWS
FROM [Adventure Works]
MDX Previous member 函数示例 2
在此示例中,我们将向您展示如何在单个多维表达式查询中编写多个 PrevMember 函数。以下 MDX 查询将返回 2011 年的 Reseller Sales 金额。
SELECT [Date].[Calendar].[Calendar Year].[CY 2013].PREVMEMBER.PREVMEMBER ON 0
,[Measures].[Reseller Sales Amount] ON ROWS
FROM [Adventure Works]
首先,[CY 2013].PrevMember 将查找 2013 年之前的年份,即 2012 年。
[Date].[Calendar].[Calendar Year].[CY 2013].PREVMEMBER
其次,[CY 2011].PrevMember.PrevMember 将查找 2012 年之前的年份,即 2011 年。
[Date].[Calendar].[Calendar Year].[CY 2013].PREVMEMBER.PREVMEMBER
使用 MDX Prevmember 函数查找范围
如何使用 Prevmember 函数查找范围?以下查询将返回 2011 年至 2013 年的 Reseller Sales 金额,因为我们在 [CY 2013] 和 [CY 2013].PrevMember.PrevMember 之间使用了范围符号(:)。
SELECT [Date].[Calendar].[Calendar Year].[CY 2013]: [Date].[Calendar].[Calendar Year].[CY 2013].PREVMEMBER.PREVMEMBER ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]
MDX Prevmember 函数替代方案 1
在此示例中,我们将使用带有负整数值的 Lead 函数。请参阅 MDX Lead Function 文章以了解该函数。
SELECT [Date].[Calendar].[Calendar Year].[CY 2013]: [Date].[Calendar].[Calendar Year].[CY 2013].LEAD(-2) ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]
Prevmember 函数替代方案 2
在此示例中,我们将使用带有正整数值的 Lag 函数。请参阅 MDX Lag Function 文章以了解该函数。
SELECT [Date].[Calendar].[Calendar Year].[CY 2013]: [Date].[Calendar].[Calendar Year].[CY 2013].LAG(2) ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]




