MDX Lead 函数用于在同一级别的成员之间导航,并返回指定位置的成员。例如,如果您想导航到特定成员,则可以使用此 LEAD 函数。
MDX Lead 函数语法
多维表达式中 LEAD 函数的基本语法如下所示
Member_Expression.LEAD (Member_Position)
Member_Expression:任何返回有效成员的多维表达式。
Member_Position:请指定要导航的成员的位置。
- 如果我们使用零作为 Member_Position,MDX Lead 函数将编写与我们在 Lead 函数之前提到的相同的 Member_Expression。
- 如果我们使用正值,Lead 函数将向前移动指定的距离,并返回该位置的 Member_Expression。
- 如果我们使用负值,Lead 函数将向后移动指定的距离,并返回该位置的 Member_Expression。
Lead 函数用于在同一成员级别之间导航。例如,如果我们指定一个 City 成员作为 Member_Expression,Lead 函数将在剩余的 City 成员之间导航。它不会向上(State – Province)或向下(Postal Code)移动级别。
如何编写 Lead 函数以使用示例向前和向后导航?为此,我们将使用下面显示的数据。

MDX Lead 函数与零
在此示例中,我们将向您展示将零值用于 Lead 函数会发生什么。以下查询将返回 2013 年历年的 Reseller Sales 金额和 Tax 金额。
提示:在这里,Lag Function 的负值等于 Lead 函数的正值。
SELECT {
[Measures].[Reseller Sales Amount]
,[Measures].[Reseller Tax Amount] } ON COLUMNS,
[Date].[Calendar].[Calendar Year].[CY 2013].LEAD(0) ON ROWS
FROM [Adventure Works]
MDX Lead 函数与正值
在此示例中,我们将向您展示将正整数值用于 Lead 函数会发生什么。以下查询将显示 2013 年历年的 Reseller Sales 和 Tax 金额,因为具有正值 (3) 的 Lead 函数将从给定年份 (2010 + 3 = 2013) 向前移动 3 年。
SELECT {
[Measures].[Reseller Sales Amount]
,[Measures].[Reseller Tax Amount] } ON COLUMNS,
[Date].[Calendar].[Calendar Year].[CY 2010].LEAD(3) ON ROWS
FROM [Adventure Works]
Lead 函数与负值
将负整数值用于 Lead 函数会发生什么?以下查询将返回 2010 年历年的 Reseller Sales 金额和 Tax 金额,因为具有负值 (-3) 的 Lead 函数将从给定年份 (2013 – 3 = 2010) 向后移动 3 年。
SELECT {
[Measures].[Reseller Sales Amount]
,[Measures].[Reseller Tax Amount] } ON COLUMNS,
[Date].[Calendar].[Calendar Year].[CY 2013].LEAD(-3) ON ROWS
FROM [Adventure Works]
使用 MDX Lead 函数查找范围
此示例向您展示如何使用 Lead 函数查找范围。以下查询将返回从 2010 年历年到 2013 年历年的 Reseller Sales 和 Tax 金额,因为我们在 [CY 2010] 和 [CY 2010].LEAD (3) 之间使用了范围符号 (:)。
SELECT {
[Measures].[Reseller Sales Amount]
,[Measures].[Reseller Tax Amount] } ON COLUMNS,
[Date].[Calendar].[Calendar Year].[CY 2010]:
[Date].[Calendar].[Calendar Year].[CY 2010].LEAD(3) ON ROWS
FROM [Adventure Works]
如果您想通过向后移动查找范围,请使用以下 MDX 查询。
SELECT {
[Measures].[Reseller Sales Amount]
,[Measures].[Reseller Tax Amount] } ON COLUMNS,
[Date].[Calendar].[Calendar Year].[CY 2013]:
[Date].[Calendar].[Calendar Year].[CY 2013].LEAD(-3) ON ROWS
FROM [Adventure Works]



