Rank (MDX)

Gibt den einsbasierten Rang eines angegebenen Tupels in einer angegebenen Menge zurück.

Syntax

  
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )  

Argumente

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

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

Numeric_expression
Ein gültiger numerischer Ausdruck, bei dem es sich in der Regel um einen MDX-Ausdruck (Multidimensional Expressions) für Zellenkoordinaten handelt, die eine Zahl zurückgeben.

Hinweise

Wenn ein numerischer Ausdruck angegeben wird, bestimmt die Rangfunktion den 1-basierten Rang für das angegebene Tupel, indem der angegebene numerische Ausdruck für das Tupel ausgewertet wird. Wenn ein numerischer Ausdruck angegeben wird, weist die Rangfunktion denselben Rang zu Tupeln mit doppelten Werten im Satz zu. Die Zuweisung desselben Ranges an doppelte Werte wirkt sich auf die Rangwerte nachfolgender Tupel in der Menge aus. Eine Menge besteht beispielsweise aus folgenden Tupeln: {(a,b), (e,f), (c,d)}. Das Tupel (a,b) weist denselben Wert auf wie das Tupel (c,d). Wenn das Tupel (a,b) den Rang "1" aufweist, liegt für (a,b) und (c,d) der Rang "1" vor. Das Tupel (e,f) verfügt jedoch über den Rang "3". In diesem Satz kann kein Tupel mit dem Rang "2" vorhanden sein.

Wenn kein numerischer Ausdruck angegeben wird, gibt die Rangfunktion die 1-basierte Ordnungsposition des angegebenen Tupels zurück.

Die Rangfunktion sortiert den Satz nicht.

Beispiel

Im folgenden Beispiel wird der Satz von Tupeln zurückgegeben, die Kunden und Kauftermine enthalten, indem sie die Funktionen "Filter", " NonEmpty", " Element" und " Rang " verwenden, um das letzte Datum zu finden, an dem jeder Kunde einen Kauf getätigt hat.

WITH SET MYROWS AS FILTER  
   (NONEMPTY  
      ([Customer].[Customer Geography].MEMBERS  
         * [Date].[Date].[Date].MEMBERS  
         , [Measures].[Internet Sales Amount]  
      ) AS MYSET  
   , NOT(MYSET.CURRENT.ITEM(0)  
      IS MYSET.ITEM(RANK(MYSET.CURRENT, MYSET)).ITEM(0))  
   )  
SELECT [Measures].[Internet Sales Amount] ON 0,  
MYROWS ON 1  
FROM [Adventure Works]  

Im folgenden Beispiel wird die Funktion Order anstelle der Rangfunktion verwendet, um die Elemente der Stadthierarchie basierend auf dem Measure "Reseller Sales Amount" zu bewerten und diese dann in rangfolgerischer Reihenfolge anzuzeigen. Indem Sie die Funktion "Reihenfolge " verwenden, um zuerst die Gruppe der Elemente der Stadthierarchie zu sortieren, erfolgt die Sortierung nur einmal und dann gefolgt von einer linearen Überprüfung, bevor sie in sortierter Reihenfolge angezeigt wird.

WITH   
SET OrderedCities AS Order  
   ([Geography].[City].[City].members  
   , [Measures].[Reseller Sales Amount], BDESC  
   )  
MEMBER [Measures].[City Rank] AS Rank  
   ([Geography].[City].CurrentMember, OrderedCities)  
SELECT {[Measures].[City Rank],[Measures].[Reseller Sales Amount]}  ON 0   
,Order  
   ([Geography].[City].[City].MEMBERS  
   ,[City Rank], ASC)  
    ON 1  
FROM [Adventure Works]  

Weitere Informationen

Order (MDX)
MDX-Funktionsreferenz (MDX)