Ancestor (MDX)

Eine Funktion, die den Vorgänger eines angegebenen Elements auf einer angegebenen Ebene oder in einem angegebenen Abstand vom Element zurückgibt.

Syntax

  
Level syntax  
Ancestor(Member_Expression, Level_Expression)  
  
Numeric syntax  
Ancestor(Member_Expression, Distance)  

Argumente

Member_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der ein Element zurückgibt.

Level_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Ebene zurückgibt.

Entfernung
Ein gültiger numerischer Ausdruck, der den Abstand vom angegebenen Element angibt.

Bemerkungen

Mit der Ancestor-Funktion stellen Sie die Funktion mit einem MDX-Memberausdruck bereit und stellen dann entweder einen MDX-Ausdruck einer Ebene bereit, die ein Vorgänger des Elements ist, oder einen numerischen Ausdruck, der die Anzahl der Ebenen über diesem Member darstellt. Mit diesen Informationen gibt die Ancestors-Funktion das Vorgängerelement auf dieser Ebene zurück.

Hinweis

Um eine Gruppe zurückzugeben, die den Vorgängermember enthält, verwenden Sie anstelle des Vorgängerelements die Funktion Vorgänger (MDX).

Wenn ein Ebenenausdruck angegeben wird, gibt die Ancestor-Funktion den Vorgänger des angegebenen Elements auf der angegebenen Ebene zurück. Wenn sich das angegebene Element nicht innerhalb der gleichen Hierarchie wie die angegebene Ebene befindet, gibt die Funktion einen Fehler zurück.

Wenn ein Abstand angegeben wird, gibt die Ancestor-Funktion den Vorgänger des angegebenen Members zurück, der die Anzahl der Schritte entspricht, die in der durch den Memberausdruck angegebenen Hierarchie angegeben sind. Ein Element kann als Element einer Attributhierarchie, einer benutzerdefinierten Hierarchie oder, in einigen Fällen, als Element einer Über-/Unterordnungshierarchie angegeben werden. 1 gibt das übergeordnete Element eines Elements und 2 das diesem übergeordnete Element (sofern vorhanden) zurück. 0 gibt das Element selbst zurück.

Hinweis

Verwenden Sie diese Form der Ancestor-Funktion für Fälle, in denen die Ebene des übergeordneten Elements unbekannt ist oder nicht benannt werden kann.

Beispiele

Im folgenden Beispiel wird ein Ebenenausdruck verwendet und Internet Sales Amount für alle Bundesstaaten in Australien sowie deren prozentualer Anteil an der Summe von Internet Sales Amount für Australien zurückgegeben.

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]  

Das folgende Beispiel verwendet einen numerischen Ausdruck und gibt den Internetumsatzbetrag für jede State-Province in Australien und seinen Prozentsatz des gesamten Internetumsatzes für alle Länder/Regionen zurück.

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]  

Weitere Informationen

MDX-Funktionsreferenz (MDX)