Ancêtres (MDX)

Une fonction qui retourne l’ensemble de tous les ancêtres d’un membre spécifié à un niveau ou à une distance spécifiée de ce membre. Avec Analysis Services, l’ensemble retourné sera toujours composé d’un seul membre - Analysis Services ne supporte pas plusieurs parents pour un seul membre.

Syntax

  
Level syntax  
Ancestors(Member_Expression, Level_Expression)  
  
Numeric syntax  
Ancestors(Member_Expression, Distance)  

Arguments

Member_Expression
Une expression valide des Expressions Multidimensionnelles (MDX) qui retourne un membre.

Level_Expression
Une expression valide des Expressions Multidimensionnelles (MDX) qui retourne un niveau.

Distance
Une expression numérique valide qui spécifie la distance par rapport au membre spécifié.

Remarks

Avec la fonction Ancestors , vous fournissez à la fonction une expression membre MDX, puis vous fournissez soit une expression MDX d’un niveau qui est un ancêtre de ce membre, soit une expression numérique représentant le nombre de niveaux au-dessus de cet élément. Avec cette information, la fonction Ancestors retourne l’ensemble des membres (qui sera un ensemble composé d’un membre) à ce niveau.

Note

Pour retourner un membre ancêtre, plutôt qu’un ensemble d’ancêtres, utilisez la fonction Ancêtre .

Si une expression de niveau est spécifiée, la fonction Ancestors retourne l’ensemble de tous les ancêtres du membre spécifié au niveau spécifié. Si l’élément spécifié ne se trouve pas dans la même hiérarchie que le niveau spécifié, la fonction renvoie une erreur.

Si une distance est spécifiée, la fonction Ancestors retourne l’ensemble de tous les membres qui correspondent au nombre d’étapes spécifiées dans la hiérarchie spécifiée par l’expression membre. Un membre peut être spécifié comme membre d’une hiérarchie d’attributs, d’une hiérarchie définie par l’utilisateur ou, dans certains cas, d’une hiérarchie parent-enfant. Un nombre de 1 renvoie l’ensemble des membres au niveau parent et un nombre de 2 retourne l’ensemble des membres au niveau des grands-parents (s’il en existe un). Un nombre de 0 renvoie l’ensemble, incluant uniquement le membre lui-même.

Note

Utilisez cette forme de la fonction Ancêtres pour les cas où le niveau du parent est inconnu ou ne peut pas être nommé.

Exemples

L’exemple suivant utilise la fonction Ancêtres pour retourner la mesure du montant des ventes Internet pour un membre, son parent et son grand-parent. Cet exemple utilise des expressions de niveau pour spécifier les niveaux à retourner. Les niveaux sont dans la même hiérarchie que l’élément spécifié dans l’expression membre.

SELECT {  
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Category]),  
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Subcategory]),  
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Product])  
    } ON 0,  
[Measures].[Internet Sales Amount] ON 1  
FROM [Adventure Works]  

L’exemple suivant utilise la fonction Ancêtres pour retourner la mesure du montant des ventes Internet pour un membre, son parent et son grand-parent. Cet exemple utilise des expressions numériques pour spécifier les niveaux retournés. Les niveaux sont dans la même hiérarchie que l’élément spécifié dans l’expression membre.

SELECT {  
   Ancestors(  
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],2  
      ),  
   Ancestors(  
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],1  
      ),  
   Ancestors(  
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],0  
      )  
   } ON 0,  
[Measures].[Internet Sales Amount] ON 1  
FROM  [Adventure Works]  

L’exemple suivant utilise la fonction Ancestors pour retourner la mesure du montant des ventes Internet pour le parent d’un membre d’une hiérarchie d’attributs. Cet exemple utilise une expression numérique pour spécifier le niveau retourné. Puisque le membre dans l’expression membre fait partie d’une hiérarchie d’attributs, son parent est au niveau [Tout].

SELECT {  
   Ancestors(  
      [Product].[Product].[Mountain-100 Silver, 38],1  
      )  
   } ON 0,  
[Measures].[Internet Sales Amount] ON 1  
FROM [Adventure Works]