MDX LEAD 函数

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 函数以使用示例向前和向后导航?为此,我们将使用下面显示的数据。

Source Table

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 FUNCTION 1

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]

MDX LEAD FUNCTION 2

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 FUNCTION 3

使用 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 LEAD FUNCTION 4

如果您想通过向后移动查找范围,请使用以下 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]