Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne l’ensemble des descendants d’un membre à un niveau ou une distance spécifiés, incluant ou excluant éventuellement les descendants d’autres niveaux.
Syntax
Member expression syntax using a level expression
Descendants(Member_Expression [ , Level_Expression [ ,Desc_Flag ] ] )
Member expression syntax using a numeric expression
Descendants(Member_Expression [ , Distance [ ,Desc_Flag ] ] )
Set expression syntax using a level expression
Descendants(Set_Expression [ , Level_Expression [ ,Desc_Flag ] ] )
Member expression syntax using a numeric expression
Descendants(Set_Expression [ , Distance [ ,Desc_Flag ] ] )
Arguments
Member_Expression
Une expression valide des Expressions Multidimensionnelles (MDX) qui retourne un membre.
Set_Expression
Une expression valide des expressions multidimensionnelles (MDX) qui retourne un ensemble.
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é.
Desc_Flag
Une expression de chaîne valide spécifiant un drapeau de description qui distingue parmi les ensembles possibles de descendants.
Remarks
Si un niveau est spécifié, la fonction Descendants retourne un ensemble contenant les descendants du membre spécifié ou les membres de l’ensemble spécifié, à un niveau spécifié, modifié éventuellement par un drapeau spécifié en Desc_Flag.
Si Distance est spécifiée, la fonction Descendants retourne un ensemble contenant les descendants du membre spécifié ou les membres de l’ensemble spécifié qui sont au nombre de niveaux spécifiés dans la hiérarchie du membre spécifié, modifié éventuellement par un drapeau spécifié dans Desc_Flag. En général, on utilise cette fonction avec l’argument de la distance pour traiter des hiérarchies décousues. Si la distance spécifiée est nulle (0), la fonction retourne un ensemble qui ne se compose que de l’élément spécifié ou de l’ensemble spécifié.
Si une expression d’ensemble est spécifiée, la fonction Descendants est résolue individuellement pour chaque membre de l’ensemble, et l’ensemble est recréé. En d’autres termes, la syntaxe utilisée pour la fonction Descendants est fonctionnellement équivalente à la fonction MDX Genere .
Si aucun niveau ou distance n’est spécifié, la valeur par défaut du niveau utilisé par la fonction est déterminée en appelant la fonction Niveau (<<Membre>>. Level) pour l’élément spécifié (si un membre est spécifié) ou en appelant la fonction Level pour chaque membre de l’ensemble spécifié (si un ensemble est spécifié). Si aucune expression de niveau, distance ou drapeau n’est spécifié, la fonction s’exécute comme si la syntaxe suivante était utilisée :
Descendants
(
Member_Expression ,
Member_Expression.Level ,
SELF_BEFORE_AFTER
)
Si un niveau est spécifié et qu’un drapeau de description n’est pas spécifié, la fonction s’exécute comme si la syntaxe suivante était utilisée.
Descendants
(
Member_Expression ,
Level_Expression,
SELF
)
En changeant la valeur du drapeau de description, vous pouvez inclure ou exclure les descendants au niveau ou à la distance spécifiés, les enfants avant ou après le niveau ou la distance spécifiés (jusqu’au nœud feuille), et les enfants feuilles quel que soit le niveau ou la distance spécifiés. Le tableau suivant décrit les drapeaux autorisés dans l’argument Desc_Flag .
| Flag | Description |
|---|---|
| SELF | Ne renvoie que les membres descendants du niveau spécifié ou à la distance spécifiée. La fonction inclut le membre spécifié, si le niveau spécifié est le niveau de l’élément spécifié. |
| APRÈS | Retourne des membres descendants de tous les niveaux subordonnés au niveau ou à la distance spécifiés. |
| AVANT | Retourne des membres descendants de tous les niveaux entre le membre spécifié et le niveau spécifié, ou à la distance spécifiée. Il inclut le membre spécifié, mais n’inclut pas les membres du niveau ou de la distance spécifiés. |
| BEFORE_AND_AFTER | Retourne des membres descendants de tous les niveaux subordonnés au niveau du membre spécifié. Il inclut le membre spécifié, mais n’inclut pas les membres du niveau ou de la distance spécifiée. |
| SELF_AND_AFTER | Retourne les membres descendants du niveau spécifié ou à la distance spécifiée et tous les niveaux subordonnés au niveau spécifié, ou à la distance spécifiée. |
| SELF_AND_BEFORE | Retourne les membres descendants du niveau spécifié ou à la distance spécifiée, et de tous les niveaux entre le membre spécifié et le niveau spécifié, ou à la distance spécifiée, y compris le membre spécifié. |
| SELF_BEFORE_AFTER | Retourne des membres descendants de tous les niveaux subordonnés au niveau du membre spécifié, et inclut le membre spécifié. |
| FEUILLES | Retourne des membres descendants de feuilles entre l’élément spécifié et le niveau spécifié, ou à la distance spécifiée. |
Exemples
L’exemple suivant retourne le membre spécifié (États-Unis), ainsi que les éléments entre le membre spécifié (États-Unis) et les membres du niveau avant le niveau spécifié (Ville). L’exemple renvoie le membre spécifié lui-même (États-Unis), et les membres du niveau State-Province (le niveau avant le niveau Ville). Cet exemple inclut des arguments commentés pour vous permettre de tester facilement d’autres arguments pour cette fonction.
SELECT Descendants
([Geography].[Geography].[Country].&[United States]
//, [Geography].[Geography].[Country]
, [Geography].[Geography].[City]
//, [Geography].[Geography].Levels (3)
//, SELF
//, AFTER
, BEFORE
// BEFORE_AND_AFTER
//, SELF_AND_AFTER
//, SELF_AND_BEFORE
//,SELF_BEFORE_AFTER
//,LEAVES
) ON 0
FROM [Adventure Works]
L’exemple suivant restitue la moyenne quotidienne de la Measures.[Gross Profit Margin] mesure, calculée sur les jours de chaque mois de l’exercice 2003, à partir du cube Adventure Works . La fonction Descendants retourne un ensemble de jours déterminés à partir du membre actuel de la [Date].[Fiscal] hiérarchie.
WITH MEMBER Measures.[Avg Gross Profit Margin] AS Avg
(
Descendants( [Date].[Fiscal].CurrentMember,
[Date].[Fiscal].[Date]
),
Measures.[Gross Profit Margin]
)
SELECT
Measures.[Avg Gross Profit Margin] ON COLUMNS,
[Date].[Fiscal].[Month].Members ON ROWS
FROM [Adventure Works]
WHERE ([Date].[Fiscal Year].&[2003])
L’exemple suivant utilise une expression de niveau et retourne le montant des ventes Internet pour chaque State-Province en Australie, et restitue le pourcentage du montant total des ventes Internet pour l’Australie par État-province. Cet exemple utilise la fonction Item pour extraire le premier (et unique) tuplet de l’ensemble qui est retourné par la fonction Ancestors .
WITH MEMBER Measures.x AS
[Measures].[Internet Sales Amount] /
( [Measures].[Internet Sales Amount],
Ancestors
( [Customer].[Customer Geography].CurrentMember,
[Customer].[Customer Geography].[Country]
).Item (0)
), 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]