Ancestor (MDX)Ancestor (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

Funzione che restituisce il predecessore di un membro specificato al livello specificato oppure alla distanza specificata dal membro.A function that returns the ancestor of a specified member at a specified level or at a specified distance from the member.

SintassiSyntax


Level syntax  
Ancestor(Member_Expression, Level_Expression)  

Numeric syntax  
Ancestor(Member_Expression, Distance)  

ArgomentiArguments

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

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.

OsservazioniRemarks

Con il predecessore funzione, si specifica la funzione con un'espressione di membro MDX e quindi un'espressione MDX di un livello è un predecessore del membro oppure un'espressione numerica che rappresenta il numero di livelli di sopra di tale membro.With the Ancestor function, you provide the function with an MDX member expression and then provide either an MDX expression of a level that is an ancestor of the member or a numeric expression that represents the number of levels above that member. Con queste informazioni, il predecessori funzione restituisce il membro predecessore a tale livello.With this information, the Ancestors function returns the ancestor member at that level.

Nota

Per restituire un set contenente il membro predecessore, anziché il solo membro predecessore, utilizzare il predecessori ( MDX ) (funzione).To return a set containing the ancestor member, instead of just the ancestor member, use the Ancestors (MDX) function.

Se si specifica un'espressione di livello il predecessore funzione restituisce il predecessore del membro specificato al livello specificato.If a level expression is specified, the Ancestor function returns the ancestor of specified member at the specified level. Se il membro specificato non è incluso nella stessa gerarchia del livello specificato, la funzione restituisce un errore.If the specified member is not within the same hierarchy as specified level, the function returns an error.

Se viene specificata una distanza, la predecessore funzione restituisce il predecessore del membro specificato che rappresenta il numero di passaggi specificato nella gerarchia specificata dall'espressione di membro.If a distance is specified, the Ancestor function returns the ancestor of the specified member that is the number of steps specified up in the hierarchy specified by the member expression. Un membro può essere specificato come membro di una gerarchia dell'attributo, una gerarchia definita dall'utente o, in alcuni casi, una gerarchia padre-figlio.A member may be specified as a member of an attribute hierarchy, a user-defined hierarchy, or in some cases, a parent-child hierarchy. Con il numero 1 viene restituito l'elemento padre di un membro, mentre con il numero 2 viene restituito l'elemento padre del padre di un membro, se esistente.A number of 1 returns a member's parent and a number of 2 returns a member's grandparent (if one exists). Il numero 0 restituisce il membro stesso.A number of 0 returns the member itself.

Nota

Utilizzare questo modulo del predecessore funzione per i casi in cui il livello dell'elemento padre è sconosciuto o non può essere rinominato.Use this form of the Ancestor function for cases in which the level of the parent is unknown or cannot be named.

EsempiExamples

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 relativa percentuale sul totale delle vendite su Internet per l'Australia.The following example uses a level expression and returns the Internet Sales Amount for each State-Province in Australia and its percent of the total Internet Sales Amount for Australia.

WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /   
   (  
   [Measures].[Internet Sales Amount],    
      Ancestor   
         (  
         [Customer].[Customer Geography].CurrentMember,  
            [Customer].[Customer Geography].[Country]  
         )  
   ), 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]  

Nell'esempio seguente viene utilizzata un'espressione numerica e vengono restituiti l'importo delle vendite su Internet per ogni State-Province in Australia e la relativa percentuale sul totale delle vendite su Internet per tutti i paesi.The following example uses a numeric expression and returns the Internet Sales Amount for each State-Province in Australia and its percent of the total Internet Sales Amount for all countries.

WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /   
   (  
      [Measures].[Internet Sales Amount],  
         Ancestor   
            ([Customer].[Customer Geography].CurrentMember, 2)  
   ), 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)