Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Geeft de verzameling nakomelingen van een lid op een bepaald niveau of afstand terug, waarbij optioneel nakomelingen op andere niveaus worden opgenomen of uitgesloten.
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
Een geldige Multidimensional Expressions (MDX) expressie die een lid teruggeeft.
Set_expressie
Een geldige Multidimensionale Expressies (MDX) expressie die een verzameling teruggeeft.
Level_Expression
Een geldige Multidimensional Expressions (MDX) expressie die een niveau teruggeeft.
Afstand
Een geldige numerieke uitdrukking die de afstand tot het gespecificeerde lid specificeert.
Desc_Flag
Een geldige stringexpressie die een beschrijvingsvlag specificeert die onderscheidt tussen mogelijke sets van nakomelingen.
Remarks
Als een niveau wordt gespecificeerd, geeft de functie Descendants een verzameling terug die de nakomelingen bevat van het gespecificeerde lid of de leden van de gespecificeerde verzameling, op een gespecificeerd niveau, optioneel aangepast door een vlag gespecificeerd in Desc_Flag.
Als Afstand wordt gespecificeerd, geeft de functie Descendants een set terug die de nakomelingen bevat van het gespecificeerde lid of de leden van de gespecificeerde set die het gespecificeerde aantal niveaus verwijderd zijn in de hiërarchie van het gespecificeerde lid, optioneel aangepast door een vlag gespecificeerd in Desc_Flag. Meestal gebruik je deze functie met het Afstand-argument om met ragged hiërarchieën om te gaan. Als de gespecificeerde afstand nul (0) is, geeft de functie een verzameling terug die alleen bestaat uit het gespecificeerde lid of de gespecificeerde verzameling.
Als een verzamelingsexpressie wordt gespecificeerd, wordt de Descendants-functie individueel opgelos voor elk lid van de verzameling, en wordt de verzameling opnieuw aangemaakt. Met andere woorden, de syntaxis die wordt gebruikt voor de Descendants-functie is functioneel equivalent aan de MDX Genere-functie .
Als er geen niveau of afstand is opgegeven, wordt de standaardwaarde voor het niveau dat door de functie wordt gebruikt bepaald door de Niveau-functie (<<Lid>>. Level) voor het gespecificeerde lid (als een lid is gespecificeerd) of door de Level-functie aan te roepen voor elk lid van de gespecificeerde set (als een set is gespecificeerd). Als er geen niveau-expressie, afstand of vlaggen zijn opgegeven, werkt de functie alsof de volgende syntaxis wordt gebruikt:
Descendants
(
Member_Expression ,
Member_Expression.Level ,
SELF_BEFORE_AFTER
)
Als een niveau wordt gespecificeerd en een beschrijvingsvlag niet is opgegeven, functioneert de functie alsof de volgende syntaxis is gebruikt.
Descendants
(
Member_Expression ,
Level_Expression,
SELF
)
Door de waarde van de beschrijvingsvlag te veranderen, kun je nakomelingen op het opgegeven niveau of afstand, de kinderen vóór of na het opgegeven niveau of afstand (tot aan de bladknoop), en de bladkinderen ongeacht het opgegeven niveau of de afstand opnemen of uitsluiten. De volgende tabel beschrijft de toegestane vlaggen in het Desc_Flag-argument .
| Flag | Description |
|---|---|
| SELF | Retourneert alleen afstammelingen van het opgegeven niveau of op de opgegeven afstand. De functie omvat het gespecificeerde lid, als het gespecificeerde niveau het niveau van het gespecificeerde lid is. |
| AFTER | Geeft afstammelingen terug van alle niveaus die ondergeschikt zijn aan het gespecificeerde niveau of de afstand. |
| VOOR | Retourneert afstammelingen van alle niveaus tussen het gespecificeerde lid en het gespecificeerde niveau, of op de opgegeven afstand. Het omvat het gespecificeerde lid, maar niet leden van het opgegeven niveau of afstand. |
| BEFORE_AND_AFTER | Geeft afstammelingen terug van alle niveaus die ondergeschikt zijn aan het niveau van het gespecificeerde lid. Het omvat het gespecificeerde lid, maar niet leden van het opgegeven niveau of op de gespecificeerde afstand. |
| SELF_AND_AFTER | Retourneert afstammelingen van het gespecificeerde niveau of op de gespecificeerde afstand en alle niveaus ondergeschikt aan het gespecificeerde niveau, of op de gespecificeerde afstand. |
| SELF_AND_BEFORE | Geeft afstammelingen terug van het gespecificeerde niveau of op de gespecificeerde afstand, en van alle niveaus tussen het gespecificeerde lid en het gespecificeerde niveau, of op de gespecificeerde afstand, inclusief het gespecificeerde lid. |
| SELF_BEFORE_AFTER | Geeft afstammelingen terug van alle niveaus die ondergeschikt zijn aan het niveau van het gespecificeerde lid, en omvat het gespecificeerde lid. |
| BLADEREN | Retourneert bladafstammelingen tussen het gespecificeerde lid en het gespecificeerde niveau, of op de opgegeven afstand. |
Examples
Het volgende voorbeeld geeft het gespecificeerde lid (Verenigde Staten) terug, en de leden tussen het gespecificeerde lid (Verenigde Staten) en de leden van het niveau vóór het gespecificeerde niveau (Stad). Het voorbeeld geeft het gespecificeerde lid zelf (Verenigde Staten) en de leden van het State-Province niveau (het niveau vóór het Stadniveau) terug. Dit voorbeeld bevat gecommenteerde argumenten zodat je gemakkelijk andere argumenten voor deze functie kunt testen.
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]
Het volgende voorbeeld geeft het dagelijkse gemiddelde van de Measures.[Gross Profit Margin] maatstaf terug, berekend over de dagen van elke maand in het boekjaar 2003, vanuit de Adventure Works-kubus . De functie Descendants geeft een reeks dagen terug die worden bepaald door het huidige lid van de [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])
Het volgende voorbeeld gebruikt een niveauuitdrukking en geeft het internetverkoopbedrag terug voor elke State-Province in Australië, en geeft het percentage van het totale internetverkoopbedrag voor Australië terug per staat en provincie. Dit voorbeeld gebruikt de Item-functie om de eerste (en enige) tuple uit de set te halen die door de Ancestors-functie wordt teruggegeven.
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]