MDX FirstSibling 函数将返回指定成员父级的第一个子成员。例如,如果您知道一位客户的姓名,并想找出第一位客户的销售额,则可以使用此 FirstSibling 函数。
MDX FirstSibling 函数语法
多维表达式中 FirstSibling 函数的基本语法如下所示
Member_Expression.FIRSTSIBLING
Member_Expression:返回有效成员的任何多维表达式。
在此查询的 FirstSibling 函数中,我们将使用下方的数据。以下截图显示了地理位置中的国家/地区。

下面的屏幕截图显示了法国境内的[州/省]。

MDX FirstSibling 函数示例
在此示例中,我们将查找国家/地区列表中的第一个子项。
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS, [Geography].[Geography].[Country].[France].FIRSTSIBLING ON ROWS FROM [Adventure Works];

在上面的 MDX 查询中,我们在列中使用 [Reseller Sales amount](经销商销售额)。
[Measures].[Reseller Sales Amount] ON COLUMNS
下面的代码行将检查法国父级(“所有”成员),然后查找“国家/地区”的第一个子成员。
[Geography].[Geography].[Country].[France].FIRSTSIBLING
MDX FirstSibling 函数示例 2
如果我们知道卢瓦雷省是法国的一个省。并且我们打算查找法国的第一个省。那么我们可以使用此 FirstSibling 函数。在此示例中,我们将查找“省份”列表中的第一个子项,并计算其经销商销售额。
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS, [Geography].[Geography].[State-Province].[Loiret].FIRSTSIBLING ON ROWS FROM [Adventure Works];

在上面的 MDX 查询中,我们在列中使用 [Reseller Sales amount](经销商销售额)。
[Measures].[Reseller Sales Amount] ON COLUMNS
下面的 firstsibling 代码行将检查卢瓦雷省父级(法国),然后查找法国国家/地区的第一个子成员。
[Geography].[Geography].[Country].[France].FIRSTSIBLING
对于夏朗德马丁省,没有任何销售额。因此,它显示为 Null 结果。
MDX FirstSibling 函数替代方案
在此示例中,我们将使用 FirstSibling 函数的替代方案来实现相同的结果。请参考父函数以了解父函数,并参考FirstChild 函数以了解 FirstChild 函数。
SELECT [Measures].[Reseller Sales Amount] ON COLUMNS, [Geography].[Geography].[State-Province].[Loiret].PARENT.FIRSTCHILD ON ROWS FROM [Adventure Works];
