MDX Siblings 函数

MDX Siblings 函数将返回指定成员的父级的所有子成员。换句话说,Siblings 函数将返回指定成员的所有同级成员。例如,如果您知道一个客户的姓名,并想找到该组中所有客户的销售额,那么您可以使用此 Siblings 函数。

MDX Siblings 函数语法

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

Member_Expression.SIBLINGS

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

如何在查询中使用 Siblings 函数并附带示例?为此,我们将使用下面展示的数据。以下屏幕截图显示了地理位置中的国家/地区。

SIBLINGS

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

Children Example

MDX Siblings 函数示例

在此示例中,我们将使用 Siblings 函数来查找法国的同级成员。

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

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

[Measures].[Reseller Sales Amount] ON COLUMNS

下面一行代码将检查法国的父级(Which is All member),然后显示该国家/地区的所有子成员。

[Geography].[Geography].[Country].[France].SIBLINGS

MDX Siblings 函数示例 2

如果我们知道卢瓦雷 (Loiret) 是法国的一个省,并且我们想找到法国的其余省份,那么我们可以使用此 Siblings 函数。在此示例中,我们将查找省份列表中的所有子成员,并计算其经销商销售额。

SELECT 
 [Measures].[Reseller Sales Amount] ON COLUMNS,
 [Geography].[Geography].[State-Province].[Loiret].SIBLINGS ON ROWS
FROM [Adventure Works];
MDX SIBLINGS FUNCTION 2

Siblings 函数替代方法

在此示例中,我们将使用 MDX Siblings 函数的替代方法来实现相同的结果。请参阅 MDX Parent 函数 来理解 Parent 函数,并查看 MDX Children 函数 来理解 Children 函数。

SELECT 
 [Measures].[Reseller Sales Amount] ON COLUMNS,
 [Geography].[Geography].[State-Province].[Loiret].PARENT.CHILDREN ON ROWS
FROM [Adventure Works];
Parent Children alternative 3

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

[Measures].[Reseller Sales Amount] ON COLUMNS

从下面这行代码中,

[Geography].[Geography].[State-Province].[Loiret].PARENT.CHILDREN

多维表达式将首先实现 Parent 函数来查找 [Loiret] 的父成员,即法国。

接下来,它将实现 Children 函数来查找属于法国的所有子成员。