Descendants (MDX)Descendants (MDX)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Restituisce il set di discendenti di un membro al livello o alla distanza specificata, includendo o escludendo facoltativamente i discendenti in altri livelli.Returns the set of descendants of a member at a specified level or distance, optionally including or excluding descendants in other levels.

SintassiSyntax


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 ] ] )  

ArgomentiArguments

Member_ExpressionMember_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un membro.A valid Multidimensional Expressions (MDX) expression that returns a member.

Set_ExpressionSet_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un set.A valid Multidimensional Expressions (MDX) expression that returns a set.

Level_ExpressionLevel_Expression
Espressione MDX (Multidimensional Expression) valida che restituisce un livello.A valid Multidimensional Expressions (MDX) expression that returns a level.

DistanzaDistance
Espressione numerica valida che specifica la distanza dal membro specificato.A valid numeric expression that specifies the distance from the specified member.

Desc_FlagDesc_Flag
Espressione stringa valida che specifica un flag descrittivo che distingue i possibili set di discendenti.A valid string expression specifying a description flag that distinguishes among possible sets of descendants.

OsservazioniRemarks

Se si specifica un livello, il discendenti funzione restituisce un set contenente i discendenti del membro specificato o i membri del set specificato, un livello specificato, modificato facoltativamente da un flag specificato in Desc_Flag.If a level is specified, the Descendants function returns a set that contains the descendants of the specified member or the members of the specified set, at a specified level, optionally modified by a flag specified in Desc_Flag.

Se distanza è specificato, il discendenti funzione restituisce un set contenente i discendenti del membro specificato o i membri del set specificato che sono il numero specificato di livelli nella gerarchia del membro specificato, modificato facoltativamente da un flag specificato in Desc_Flag.If Distance is specified, the Descendants function returns a set that contains the descendants of the specified member or the members of the specified set that are the specified number of levels away in the hierarchy of the specified member, optionally modified by a flag specified in Desc_Flag. Questa funzione viene in genere utilizzata con l'argomento Distance per gestire gerarchie incomplete.Typically, you use this function with the Distance argument to deal with ragged hierarchies. Se la distanza specificata è zero (0), la funzione restituisce un set costituito soltanto dal membro specificato o dal set specificato.If the specified distance is zero (0), the function returns a set that consists only of the specified member or the specified set.

Se viene specificata un'espressione set, il discendenti funzione viene risolta singolarmente per ogni membro del set e set viene creato nuovamente.If a set expression is specified, the Descendants function is resolved individually for each member of the set, and the set is created again. In altre parole, la sintassi utilizzata per la discendenti funzione è funzionalmente equivalente a MDX genera (funzione).In other words, the syntax used for the Descendants function is functionally equivalent to the MDX Generate function.

Se non viene specificato alcun livello o alla distanza, il valore predefinito per il livello utilizzato dalla funzione viene determinato chiamando il livello funzione (<<membro >>. Livello) per il membro specificato (se viene specificato un membro) o chiamando il livello funzione per ogni membro del gruppo specificato (se è specificato un set).If no level or distance is specified, the default value for the level used by the function is determined by calling the Level function (<<Member>>.Level) for the specified member (if a member is specified) or by calling the Level function for each member of the specified set (if a set is specified). Se non si specifica un'espressione di livello o la distanza o non vengono specificati flag, la funzione viene eseguita come se fosse stata utilizzata la sintassi seguente:If no level expression, distance or flags are specified, the function performs as if the following syntax were used:

Descendants

(

Member_Expression ,

Member_Expression.Level ,

SELF_BEFORE_AFTER

)

Se si specifica un livello e non viene specificato un flag descrittivo, la funzione viene eseguita come se fosse stata utilizzata la sintassi seguente:If a level is specified and a description flag is not specified, the function performs as if the following syntax were used.

Descendants

(

Member_Expression ,

Level_Expression,

SELF

)

Modificando il valore del flag descrittivo è possibile includere o escludere i discendenti alla distanza o al livello specificato, gli elementi figlio prima o dopo la distanza o il livello specificato (fino al nodo foglia) e tutti gli elementi figlio di tipo foglia indipendentemente dalla distanza o dal livello specificato.By changing the value of the description flag, you can include or exclude descendants at the specified level or distance, the children before or after the specified level or distance (until the leaf node), and the leaf children regardless of the specified level or distance. Nella tabella seguente vengono descritti i flag consentiti nel Desc_Flag argomento.The following table describes the flags allowed in the Desc_Flag argument.

FlagFlag DescriptionDescription
SELFSELF Restituisce soltanto i membri discendenti alla distanza indicata o del livello specificato.Returns only descendant members from the specified level or at the specified distance. La funzione include il membro specificato, se il livello specificato corrisponde al livello di tale membro.The function includes the specified member, if the specified level is the level of the specified member.
AFTERAFTER Restituisce i membri discendenti di tutti i livelli subordinati alla distanza indicata o al livello specificato.Returns descendant members from all levels subordinate to the specified level or distance.
BEFOREBEFORE Restituisce i membri discendenti di tutti i livelli tra il membro specificato e il livello specificato oppure alla distanza indicata.Returns descendant members from all levels between the specified member and the specified level, or at the specified distance. Include il membro specificato, ma non i membri della distanza indicata o del livello specificato.It includes the specified member, but does not include members from the specified level or distance.
BEFORE_AND_AFTERBEFORE_AND_AFTER Restituisce i membri discendenti di tutti i livelli subordinati al livello del membro specificato.Returns descendant members from all levels subordinate to the level of the specified member. Include il membro specificato, ma non i membri del livello specificato o alla distanza indicata.It includes the specified member, but does not include members from the specified level or at the specified distance.
SELF_AND_AFTERSELF_AND_AFTER Restituisce i membri discendenti del livello specificato o alla distanza indicata e di tutti i livelli subordinati al livello specificato oppure alla distanza indicata.Returns descendant members from the specified level or at the specified distance and all levels subordinate to the specified level, or at the specified distance.
SELF_AND_BEFORESELF_AND_BEFORE Restituisce i membri discendenti del livello specificato o alla distanza indicata e di tutti i livelli tra il membro specificato e il livello specificato oppure alla distanza indicata, includendo il membro specificato.Returns descendant members from the specified level or at the specified distance, and from all levels between the specified member and the specified level, or at the specified distance, including the specified member.
SELF_BEFORE_AFTERSELF_BEFORE_AFTER Restituisce i membri discendenti di tutti i livelli subordinati al livello del membro specificato, includendo tale membro.Returns descendant members from all levels subordinate to the level of the specified member, and includes the specified member.
LEAVESLEAVES Restituisce i membri discendenti di tipo foglia tra il membro specificato e il livello specificato oppure alla distanza indicata.Returns leaf descendant members between the specified member and the specified level, or at the specified distance.

EsempiExamples

Nell'esempio seguente vengono restituiti il membro specificato (United States) e i membri tra il membro specificato (United States) e i membri del livello che precede il livello specificato (City). Vengono quindi restituiti il membro specificato stesso (United States) e i membri del livello State-Province, che precede il livello City.The following example returns the specified member (United States), and the members between the specified member (United States) and the members of the level before the specified level (City), The example returns the specified member itself (United States), and the members of the State-Province level (the level before the City level). Nell'esempio sono inclusi argomenti impostati come commenti che consentono di testare facilmente altri argomenti per questa funzione.This example includes commented arguments to enable you to easily test other arguments for this function.

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'esempio seguente restituisce la media giornaliera del Measures.[Gross Profit Margin] misura, calcolata sui giorni di ogni mese dell'anno fiscale 2003, dal Adventure Works cubo.The following example returns the daily average of the Measures.[Gross Profit Margin] measure, calculated across the days of each month in the 2003 fiscal year, from the Adventure Works cube. Il discendenti funzione restituisce un set di giorni determinato dal membro corrente del [Date].[Fiscal] gerarchia.The Descendants function returns a set of days determined from the current member of the [Date].[Fiscal] hierarchy.

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])  

Nell'esempio seguente viene utilizzata un'espressione di livello e vengono restituiti l'importo delle vendite su Internet per ogni State-Province in Australia e la percentuale sul totale delle vendite su Internet per l'Australia per ogni State-Province.The following example uses a level expression and returns the Internet Sales Amount for each State-Province in Australia, and returns the percentage of the total Internet Sales Amount for Australia for by each State-Province. In questo esempio la funzione Item viene utilizzata per estrarre il prima (e unica) tupla dal set restituito dal predecessori (funzione).This example uses the Item function to extract the first (and only) tuple from the set that is returned by the Ancestors function.

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]  

Vedere ancheSee Also

Riferimento alla funzione MDX ( MDX )MDX Function Reference (MDX)