Freigeben über


Ancestors (MDX)

Eine Funktion, die die Menge aller Vorgänger eines angegebenen Elements in einer angegebenen Ebene oder in einem angegebenen Abstand vom Element zurückgibt. In MicrosoftSQL ServerAnalysis Services enthält die zurückgegebene Menge stets ein einzelnes Element – mehrere übergeordnete Elemente zu einem einzelnen Element werden von Analysis Services nicht unterstützt.

Syntax

Level syntax
Ancestors(Member_Expression, Level_Expression)

Numeric syntax
Ancestors(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 Ancestors-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 dieses Elements handelt, oder einen numerischen Ausdruck, der die Anzahl der Ebenen oberhalb dieses Elements darstellt. Anhand dieser Informationen gibt die Ancestors-Funktion eine (einelementige) Menge von Elementen auf dieser Ebene zurück.

HinweisHinweis

Um anstelle einer Vorgängermenge ein Vorgängerelement zurückzugeben, verwenden Sie die Ancestor-Funktion.

Wenn ein Ebenenausdruck angegeben wird, gibt die Ancestors-Funktion die Menge aller 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 Ancestors-Funktion die Menge aller Elemente zurück, die 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 die Menge der Elemente auf der übergeordneten Ebene und 2 die Menge der Elemente auf der dieser Ebene übergeordneten Ebene (sofern vorhanden) zurück. 0 gibt die Menge zurück, die nur das Element selbst enthält.

HinweisHinweis

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

Beispiele

Im folgenden Beispiel wird die Ancestors-Funktion verwendet, um das Internet Sales Amount-Measure für ein Element, für das ihm übergeordnete Element und das diesem übergeordnete Element zurückzugeben. In diesem Beispiel werden Ebenenausdrücke zum Angeben der zurückzugebenden Ebene verwendet. Die Ebenen befinden sich in der gleichen Hierarchie wie das im Elementausdruck angegebene Element.

SELECT {
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Category]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Subcategory]),
    Ancestors([Product].[Product Categories].[Product].[Mountain-100 Silver, 38],[Product].[Product Categories].[Product])
    } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]

Im folgenden Beispiel wird die Ancestors-Funktion verwendet, um das Internet Sales Amount-Measure für ein Element, für das ihm übergeordnete Element und das diesem übergeordnete Element zurückzugeben. In diesem Beispiel werden numerische Ausdrücke zum Angeben der zurückzugebenden Ebene verwendet. Die Ebenen befinden sich in der gleichen Hierarchie wie das im Elementausdruck angegebene Element.

SELECT {
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],2
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],1
      ),
   Ancestors(
      [Product].[Product Categories].[Product].[Mountain-100 Silver, 38],0
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM  [Adventure Works]

Im folgenden Beispiel wird die Ancestors-Funktion verwendet, um das Internet Sales Amount-Measure für das übergeordnete Element eines Elements der Attributhierarchie zurückzugeben. In diesem Beispiel wird ein numerischer Ausdruck zum Angeben der zurückzugebenden Ebene verwendet. Da das Element im Elementausdruck ein Element einer Attributhierarchie darstellt, ist das ihm übergeordnete Element die [All]-Ebene.

SELECT {
   Ancestors(
      [Product].[Product].[Mountain-100 Silver, 38],1
      )
   } ON 0,
[Measures].[Internet Sales Amount] ON 1
FROM [Adventure Works]

Siehe auch

Verweis