Freigeben über


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.

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

Hinweise

Zur Verwendung der Ancestor-Funktion stellen Sie der Funktion einen MDX-Elementausdruck bereit und anschließend entweder einen MDX-Ausdruck einer Ebene, bei der es sich um einen Vorgänger des Elements handelt, oder einen numerischen Ausdruck, der die Anzahl der Ebenen oberhalb dieses Elements darstellt. Anhand dieser Informationen gibt die Ancestors-Funktion das Vorgängerelement auf dieser Ebene zurück.

HinweisHinweis

Um anstelle eines Vorgängerelements eine Vorgängermenge zurückzugeben, verwenden Sie die Ancestors (MDX)-Funktion.

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 Elements zurück, der sich die angegebene Anzahl von Stufen über dem Element in der im Elementausdruck angegebenen Hierarchie befindet. Ein Element kann als Element einer Attributhierarchie, einer benutzerdefinierten Hierarchie oder, in einigen Fällen, als Element einer Parent-Child-Hierarchie 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.

HinweisHinweis

Verwenden Sie diese Form der Ancestor-Funktion in Fällen, 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]

Im folgenden Beispiel wird ein numerischer Ausdruck verwendet und Internet Sales Amount für alle Bundesstaaten in Australien sowie dessen prozentualer Anteil an der Summe von Internet Sales Amount für alle Länder zurückgegeben.

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]

Siehe auch

Verweis