Vorfahren (MDX)

Eine Funktion, die die Menge aller Vorfahren eines bestimmten Mitglieds auf einer bestimmten Ebene oder in einem bestimmten Abstand zum Mitglied zurückgibt. Bei Analysis Services besteht die zurückgegebene Menge immer aus einem einzelnen Mitglied – Analysis Services unterstützt nicht mehrere Eltern für ein einzelnes Mitglied.

Syntax

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

Argumente

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

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

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

Bemerkungen

Mit der Ahnenfunktion liefert man der Funktion einen MDX-Mitgliedsausdruck und dann entweder einen MDX-Ausdruck einer Ebene, die ein Vorfahre dieses Mitglieds ist, oder einen numerischen Ausdruck, der die Anzahl der Ebenen über diesem Mitglied darstellt. Mit dieser Information gibt die Ancestors-Funktion auf dieser Ebene die Menge der Mitglieder zurück (die aus einem Element besteht).

Note

Um ein Ahnenmitglied statt einer Vorfahrenmenge zurückzugeben, verwenden Sie die Vorfahrenfunktion .

Wenn ein Niveau-Ausdruck angegeben ist, liefert die Ahnenfunktion die Menge aller Vorfahren des angegebenen Mitglieds auf der angegebenen Ebene zurück. Befindet sich das angegebene Element nicht in derselben Hierarchie wie die angegebene Ebene, gibt die Funktion einen Fehler zurück.

Wenn ein Abstand angegeben ist, gibt die Ancestors-Funktion die Menge aller Mitglieder zurück, die die von der Mitgliederausdruck angegebene Anzahl der Stufen oben in der Hierarchie sind. Ein Mitglied kann als Mitglied einer Attributhierarchie, einer benutzerdefinierten Hierarchie oder in manchen Fällen einer Eltern-Kind-Hierarchie angegeben werden. Eine Zahl von 1 gibt die Menge der Mitglieder auf der Elternebene zurück, und eine Zahl von 2 gibt die Menge der Mitglieder auf der Großelternebene zurück (falls es eine gibt). Eine Anzahl von 0 gibt die Menge zurück, einschließlich nur des Mitglieds selbst.

Note

Verwenden Sie diese Form der Ahnenfunktion für Fälle, in denen die Ebene des Elternteils unbekannt ist oder nicht benannt werden kann.

Beispiele

Das folgende Beispiel verwendet die Funktion Ahnen , um das Maß Internet Sales Amount für ein Mitglied, dessen Elternteil und seinen Großelternteil zurückzugeben. Dieses Beispiel verwendet Level-Ausdrücke, um die zurückzugebenden Level zu spezifizieren. Die Ebenen befinden sich in derselben Hierarchie wie das im Mitglieder-Ausdruck 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]  

Das folgende Beispiel verwendet die Funktion Ahnen , um das Maß Internet Sales Amount für ein Mitglied, dessen Elternteil und seinen Großelternteil zurückzugeben. Dieses Beispiel verwendet numerische Ausdrücke, um die zurückgegebenen Niveaus anzugeben. Die Ebenen befinden sich in derselben Hierarchie wie das im Mitglieder-Ausdruck 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]  

Das folgende Beispiel verwendet die Funktion Ancestors, um das Maß Internet Sales Amount für den Elternteil eines Mitglieds einer Attributhierarchie zurückzugeben. Dieses Beispiel verwendet einen numerischen Ausdruck, um das zurückgegebene Level anzugeben. Da das Mitglied im Mitgliedsausdruck ein Mitglied einer Attributhierarchie ist, ist sein Elternteil die [All]-Ebene.

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