Partager via


Ancestor (MDX)

Cette fonction retourne l'ancêtre d'un membre spécifié à un niveau ou une distance spécifique du membre.

Syntaxe

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

Arguments

Member_expression
Expression MDX (Multidimensional Expressions) valide qui retourne un membre.

Level_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un niveau.

Distance
Expression numérique valide qui spécifie la distance depuis le membre spécifié.

Remarques

Avec la fonction Ancestor , vous fournissez à la fonction une expression de membre MDX, puis une expression MDX d’un niveau qui est un ancêtre du membre ou une expression numérique qui représente le nombre de niveaux au-dessus de ce membre. Avec ces informations, la fonction Ancestors retourne le membre ancêtre à ce niveau.

Notes

Pour retourner un jeu contenant le membre ancêtre, au lieu du simple membre ancêtre, utilisez la fonction Ancestors (MDX).

Si une expression de niveau est spécifiée, la fonction Ancestor retourne l’ancêtre du membre spécifié au niveau spécifié. Si le membre spécifié n'apparaît pas dans la même hiérarchie en tant que niveau spécifié, la fonction retourne une erreur.

Si une distance est spécifiée, la fonction Ancestor retourne l’ancêtre du membre spécifié qui correspond au nombre d’étapes spécifiées dans la hiérarchie spécifiée par l’expression membre. Vous pouvez spécifier un membre en tant que membre d'une hiérarchie d'attribut, d'une hiérarchie définie par l'utilisateur ou, dans certains cas, d'une hiérarchie parent-enfant. Un nombre 1 retourne le parent d'un membre ; un nombre 2 retourne le grand-parent d'un membre (le cas échéant). Un nombre 0 retourne le membre lui-même.

Notes

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

Exemples

L'exemple suivant utilise une expression de niveau et retourne la mesure Internet Sales Amount (volume de vente Internet) pour chaque State-Province (état-Province) en Australie ; il dévoile également le pourcentage de volume de vente Internet total pour l'Australie.

WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /   
   (  
   [Measures].[Internet Sales Amount],    
      Ancestor   
         (  
         [Customer].[Customer Geography].CurrentMember,  
            [Customer].[Customer Geography].[Country]  
         )  
   ), FORMAT_STRING = '0%'  
SELECT {[Measures].[Internet Sales Amount], Measures.x} ON 0,  
{  
   Descendants   
      (  
        [Customer].[Customer Geography].[Country].&[Australia],  
           [Customer].[Customer Geography].[State-Province], SELF   
      )  
} ON 1  
FROM [Adventure Works]  

L’exemple suivant utilise une expression numérique et retourne le montant des ventes Internet pour chaque State-Province en Australie et son pourcentage du montant total des ventes Internet pour tous les pays/régions.

WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /   
   (  
      [Measures].[Internet Sales Amount],  
         Ancestor   
            ([Customer].[Customer Geography].CurrentMember, 2)  
   ), FORMAT_STRING = '0%'  
SELECT {[Measures].[Internet Sales Amount], Measures.x} ON 0,  
{  
   Descendants   
      (  
         [Customer].[Customer Geography].[Country].&[Australia],  
            [Customer].[Customer Geography].[State-Province], SELF   
      )  
} ON 1  
FROM [Adventure Works]  

Voir aussi

Guide de référence des fonctions MDX (MDX)