MDX NextMember 函数将返回同一层级的下一个成员。Nextmember 函数用于在同一层级的成员之间向前移动。
例如,如果我们指定“城市”成员作为 Member_Expression,Nextmember 函数将在剩余的城市之间向前移动。它不会向上移动到层级(州 - 省)或向下移动到层级(邮政编码)。
MDX Nextmember 函数语法
多维表达式中 Nextmember 函数的基本语法如下所示
Member_Expression.NEXTMEMBER
Member_Expression:任何返回有效成员的多维表达式。
对于这个 Nextmember 函数示例,我们将使用以下数据。

MDX Nextmember 函数示例
在此示例中,我们将向您展示如何在多维表达式查询中编写 NextMember 函数。以下查询将返回 2012 年的经销商销售额,因为 [CY 2011].NEXTMEMBER 将查找 2011 年之后的年份,即 2012 年。
SELECT [Date].[Calendar].[Calendar Year].[CY 2011].NextMember ON COLUMNS,
[Measures].[Reseller Sales Amount] ON ROWS
FROM [Adventure Works]

Nextmember 函数示例 2
在此示例中,我们将展示如何在单个多维表达式查询中编写多个 NextMember 函数。以下 MDX 查询将返回 2013 年的经销商销售额。
SELECT [Date].[Calendar].[Calendar Year].[CY 2011].NEXTMEMBER.NEXTMEMBER ON 0
,[Measures].[Reseller Sales Amount] ON ROWS
FROM [Adventure Works]

首先,[CY 2011].NEXTMEMBER 将查找 2011 年之后的年份,即 2012 年
[Date].[Calendar].[Calendar Year].[CY 2011].NextMember
其次,[CY 2011].Nextmember.Nextmember 将查找 2012 年之后的年份,即 2013 年
[Date].[Calendar].[Calendar Year].[CY 2011].NextMember.NextMember
使用 MDX Nextmember 函数查找范围
如何使用 Nextmember 函数查找范围?以下查询将返回从 2011 年到 2013 年的经销商销售额,因为我们在 [CY 2011] 和 [CY 2011].Nextmember.Nextmember 之间使用了范围符号(:)。
SELECT [Date].[Calendar].[Calendar Year].[CY 2011]: [Date].[Calendar].[Calendar Year].[CY 2011].NextMember.NextMember ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]
MDX Nextmember 函数替代方案
在此示例中,我们将使用带有正整数值的 Lead 函数来实现上述结果。请参考 MDX Lead 函数 文章以了解该函数。
SELECT [Date].[Calendar].[Calendar Year].[CY 2011]: [Date].[Calendar].[Calendar Year].[CY 2011].LEAD(2) ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]
Nextmember 函数替代方案 2
在此示例中,我们将使用带有负整数值的 Lag 函数。请参考 MDX Lag 函数 文章以了解该函数。
SELECT [Date].[Calendar].[Calendar Year].[CY 2011]: [Date].[Calendar].[Calendar Year].[CY 2011].LAG(-2) ON 0 ,[Measures].[Reseller Sales Amount] ON ROWS FROM [Adventure Works]


