MDX Ascendant 函数将返回指定成员在所有级别上的关联父成员,直到达到级别 0。或者说,Ascendant 函数将返回指定成员的所有祖先。例如,您知道客户的姓名。如果您想查找该特定客户的邮政编码、城市、州和国家/地区,则可以使用此 Ascendant 函数。
MDX Ascendants 函数语法
MDX (Multidimensional Expression) 中 MDX Ascendants 函数的基本语法如下所示
ASCENDANTS (Member_Expression)
Member_Expression:任何返回有效成员的多维表达式。
在本文中,我们将向您展示如何编写 Ascendants 函数查询并提供示例。为此,我们将使用下面显示的层次结构

MDX Ascendants 函数示例
在此 MDX 示例中,我们将查找邮政编码为 2055 的城市、州和国家/地区
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS, ASCENDANTS ([Geography].[Geography].[Postal Code].[2055]) ON ROWS FROM [Adventure Works];

Order 函数与 Ascendants 结合使用
在此示例中,我们将使用 MDX Order 函数按降序重新排序 Ascendants 函数返回的成员。
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS, ORDER ( ASCENDANTS ([Geography].[Geography].[Postal Code].[2055]) ,DESC) ON ROWS FROM [Adventure Works];

使用 Hierarchize 与 Ascendants 结合使用
此示例使用 Hierarchize 函数按从上到下的顺序重新排序 Ascendants 函数返回的成员。
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS,
HIERARCHIZE
(
ASCENDANTS ([Geography].[Geography].[Postal Code].[2055])
) ON ROWS
FROM [Adventure Works];

注意:Hierarchize 函数是一个非常有用的函数,用于对 Ascendants 返回的成员进行排序,而不是 Order 函数。