MDX FirstSibling 函数

MDX FirstSibling 函数将返回指定成员父级的第一个子成员。例如,如果您知道一位客户的姓名,并想找出第一位客户的销售额,则可以使用此 FirstSibling 函数。

MDX FirstSibling 函数语法

多维表达式中 FirstSibling 函数的基本语法如下所示

Member_Expression.FIRSTSIBLING

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

在此查询的 FirstSibling 函数中,我们将使用下方的数据。以下截图显示了地理位置中的国家/地区。

Source table

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

Children Rows 1

MDX FirstSibling 函数示例

在此示例中,我们将查找国家/地区列表中的第一个子项。

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

在上面的 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];
FIRSTSIBLING 2

在上面的 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];
MDX FIRSTSIBLING FUNCTION 3