MDX LastChild 函数

MDX LastChild 函数将返回属于指定成员的最后一个子成员。例如,如果您知道一个客户的姓名,并且想要找出最后一个客户的销售额,那么您可以使用此 LastChild 函数。

MDX LastChild 函数语法

多维表达式 (Multidimensional Expression) 中 LastChild 的基本语法如下所示

Member_Expression.LASTCHILD

Member_Expression:任何返回有效成员的多维表达式。

对于 MDX 查询中的 LastChild 函数,我们将使用下面展示的数据。下图显示了地理位置 (Geography) 中的国家 (Countries)。

下图显示了法国 (France) 国家中的州/省 (State – Provinces)。

MDX LastChild 函数示例

在此示例中,我们将找出法国国家中的最后一个子项。也就是说,法国的最后一个州/省。

提示:我们可以使用 MDX FirstChild 函数 来查找第一个子成员。

SELECT 
  [Measures].[Reseller Sales Amount] ON COLUMNS,
  [Geography].[Geography].[Country].[France].LASTCHILD ON ROWS
FROM [Adventure Works];
MDX LASTCHILD FUNCTION 1

在上面的 MDX 查询中,我们在列中使用 [Reseller Sales amount](经销商销售额)。

[Measures].[Reseller Sales Amount] ON COLUMNS

下面一行代码将写出法国 (France) 的最后一个子成员,即法国境内所有的州/省。

[Geography].[Geography].[Country].[France].LASTCHILD

对于 Yveline 州,没有任何销售额。因此,显示为 Null 结果。

MDX LastChild 函数示例 2

在此示例中,我们将找出国家列表中的最后一个子项,并计算其经销商销售额。

SELECT 
  [Measures].[Reseller Sales Amount] ON COLUMNS,
  [Geography].[Geography].[Country].[France].PARENT.LASTCHILD ON ROWS
FROM [Adventure Works];
LASTCHILD FUNCTION 2

在上面的 MDX 查询中,我们在列中使用 [Reseller Sales amount](经销商销售额)。

[Measures].[Reseller Sales Amount] ON COLUMNS

从下面的代码行中,

[Geography].[Geography].[Country].[France].PARENT.LASTCHILD

MDX 将首先实现 Parent 函数来查找法国的父成员,即 All Members(所有成员)。有关更多信息,请参阅 MDX Parent 函数

接下来,它将实现 LastChild 函数来查找国家列表的最后一个子成员,即美国 (United States)。

MDX LastChild 函数的替代方法

在此示例中,我们将使用 LastChild 函数的替代方法来实现相同的结果。要了解 LastSibling 函数,请参阅 MDX LastSibling 函数

SELECT 
  [Measures].[Reseller Sales Amount] ON COLUMNS,
  [Geography].[Geography].[Country].[France].LASTSIBLING ON ROWS
FROM [Adventure Works];
MDX LASTCHILD FUNCTION 3