Partager via


DrillupMember (MDX)

Retourne les membres figurant dans un jeu spécifié qui ne sont pas les descendants des membres figurant dans un second jeu spécifié.

Syntaxe

DrillupMember(Set_Expression1, Set_Expression2) 

Arguments

  • Set_Expression1
    Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.

  • Set_Expression2
    Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.

Notes

La fonction DrillupMember retourne un jeu de membres en fonction des membres spécifiés dans le premier jeu spécifié et correspondant à des descendants de membres inclus dans le deuxième jeu. Le premier jeu peut avoir n'importe quelle dimensionnalité mais le deuxième jeu doit contenir un jeu unidimensionnel. L'ordre des membres d'origine dans le premier jeu est conservé. La fonction construit le jeu en incluant uniquement les membres du premier jeu qui sont des descendants immédiats des membres du deuxième jeu. Si l'ancêtre immédiat d'un membre du premier jeu n'est pas présent dans le deuxième jeu, le membre du premier jeu est inclus dans le jeu retourné par cette fonction. Les descendants dans le premier jeu qui précèdent un membre ancêtre du deuxième jeu sont également inclus.

Le premier jeu peut contenir des tuples au lieu de membres. L'exploration vers le bas des tuples est une extension d'OLE DB et retourne un jeu de tuples à la place des membres.

Important

Un membre fait l'objet d'une exploration vers le haut uniquement s'il est aussitôt suivi d'un enfant ou d'un descendant.L'ordre des membres dans le jeu importe autant pour les familles de fonctions Drilldown* et Drillup*.Envisagez d'utiliser la fonction Hierarchize pour ordonner de manière appropriée les membres du premier jeu.

Exemple

Les trois exemples suivants sont identiques, à l'exception du deuxième jeu. Dans le premier exemple, le deuxième jeu contient le membre United States. Par conséquent, le membre Colorado est exclu du jeu de résultats. C'est un descendant du membre United States.

SELECT DrillUpMember ( 
  { [Geography].[Geography].[Country].[Canada] 
   ,[Geography].[Geography].[Country].[United States] 
   ,[Geography].[Geography].[State-Province].[Colorado] 
   ,[Geography].[Geography].[State-Province].[Alberta] 
   ,[Geography].[Geography].[State-Province].[Brunswick]  
 } 
 , {[Geography].[Geography].[Country].[United States]} 
 ) ON 0 
FROM [Adventure Works]

Le deuxième exemple illustre l'importance de l'ordre dans lequel les membres sont placés. Étant donné que la fonction DrillupMember effectue une extraction vers le haut uniquement pour les membres qui sont immédiatement suivis de descendants dans le premier jeu, le membre Canada est exclu de cette opération. Le membre Canada est séparé de ses descendants par les membres United States et Colorado. Si vous réorganisez les membres afin que le membre Canada soit situé juste au-dessus du membre Alberta, les membres Alberta et Brunswick sont exclus de l'ensemble de lignes.

SELECT DrillUpMember ( 
 {  [Geography].[Geography].[Country].[Canada] 
   ,[Geography].[Geography].[Country].[United States] 
   ,[Geography].[Geography].[State-Province].[Colorado] 
   ,[Geography].[Geography].[State-Province].[Alberta] 
   ,[Geography].[Geography].[State-Province].[Brunswick]  
 } 
 , {[Geography].[Geography].[Country].[Canada]} 
 ) 
ON 0 
FROM [Adventure Works]

Le troisième exemple montre de quelle manière l'utilisation de la fonction Hierarchize peut atténuer les effets de l'ordre des membres et rendre possible l'extraction vers le haut du membre Canada.

SELECT DrillUpMember ( 
 Hierarchize 
  ( 
   { [Geography].[Geography].[Country].[Canada] 
    ,[Geography].[Geography].[Country].[United States] 
    ,[Geography].[Geography].[State-Province].[Colorado] 
    ,[Geography].[Geography].[State-Province].[Alberta] 
    ,[Geography].[Geography].[State-Province].[Brunswick]  
   } 
  ), {[Geography].[Geography].[Country].[Canada]} 
 ) 
ON 0 
FROM [Adventure Works] 

Voir aussi

Référence

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