DrilldownLevel (MDX)

Extrait vers le bas les membres d'un jeu d'un niveau sous le niveau le plus bas représenté dans le jeu, ou d'un niveau sous le niveau facultatif d'un membre représenté dans le jeu.

Syntaxe

Level expression syntax
DrilldownLevel(Set_Expression [ , Level_Expression ] )

Numeric expression syntax
DrilldownLevel(Set_Expression [ , ,Index} ] )

Arguments

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

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

  • Index
    Expression numérique valide qui spécifie le nombre de hiérarchies pour lesquelles procéder à une extraction vers le bas au sein du jeu.

Notes

Selon les membres inclus dans le jeu spécifié, la fonction DrilldownLevel retourne un jeu de membres enfants dans un ordre hiérarchique. L'ordre est conservé parmi les membres d'origine dans le jeu spécifié, à ceci près que tous les membres enfants inclus dans l'ensemble de résultats de la fonction sont placés immédiatement sous leur membre parent.

Si une expression de niveau est spécifiée, la fonction construit un jeu dans un ordre hiérarchique en récupérant uniquement les enfants des membres situés au niveau spécifié. Si une expression de niveau est spécifiée et si aucun membre n'existe au niveau spécifique représenté dans le jeu spécifié, c'est ce dernier qui est retourné.

Si vous spécifiez une valeur d'index, la fonction génère un jeu dans l'ordre hiérarchique en récupérant uniquement les enfants des membres situés au niveau suivant le plus bas de la hiérarchie concernée et référencée dans le jeu spécifié ; elle se fonde pour cela sur un index de base zéro.

Si aucune expression de niveau ou valeur d'index n'est spécifiée, la fonction génère un jeu dans l'ordre hiérarchique en extrayant uniquement les enfants des membres situés au niveau suivant le plus bas de la première dimension référencée dans le jeu spécifié.

Exemples

L'exemple ci-après comptabilise le nombre de produits dans la dimension Product en utilisant conjointement la fonction DrilldownLevel avec la Countfunction.

Count(DrilldownLevel ( 
   [Product].[Product].[Product]))

L'exemple ci-dessous utilise la syntaxe d'expression numérique pour procéder à une extraction vers le bas dans la première hiérarchie, soit la hiérarchie Customer Geography (zone géographique du client).

SELECT DRILLDOWNLEVEL
   ( {[Customer].[Customer Geography].[Country].&[Canada]} * {[Customer].[Gender].[All Customers]},,0)
   ON 0
FROM [Adventure Works]

L'exemple ci-dessous utilise la syntaxe d'expression numérique pour procéder à une extraction vers le bas dans la deuxième hiérarchie, soit la hiérarchie Gender (sexe).

SELECT DRILLDOWNLEVEL
   ( {[Customer].[Customer Geography].[Country].&[Canada]} * {[Customer].[Gender].[All Customers]},,1)
   ON 0
FROM [Adventure Works]

L'exemple ci-dessous retourne le nombre de revendeurs dont les ventes ont baissé sur la période précédente en se basant sur les valeurs de membres State-Province (état-province) sélectionnées par l'utilisateur et évaluées à l'aide de la Aggregatefunction. Les fonctions Hierarchize et DrilldownLevel sont utilisées pour retourner des valeurs de ventes en baisse relatives aux catégories de produits inscrites dans la dimension Product. La fonction DrilldownLevel sert à explorer et à descendre jusqu'au niveau suivant le plus bas de la hiérarchie d'attribut Product (puisque aucun niveau n'est spécifié).

WITH MEMBER Measures.[Declining Reseller Sales] AS 
   Count(
      Filter(
         Existing(Reseller.Reseller.Reseller), 
            [Measures].[Reseller Sales Amount] < ([Measures].[Reseller Sales Amount],
            [Date].Calendar.PrevMember)
            )
         )
MEMBER [Geography].[State-Province].x AS 
   Aggregate ( 
      {[Geography].[State-Province].&[WA]&[US], 
      [Geography].[State-Province].&[OR]&[US] } 
         )
SELECT NON EMPTY Hierarchize (
   AddCalculatedMembers (
      {DrilldownLevel ({[Product].[All Products]})}
         )   )
        DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS 
FROM [Adventure Works]
WHERE ([Geography].[State-Province].x, 
    [Date].[Calendar].[Calendar Quarter].&[2003]&[4],
    [Measures].[Declining Reseller Sales])