Partager via


Rank (MDX)

Retourne le rang de base un d'un tuple dans un jeu.

Syntaxe

  
Rank(Tuple_Expression, Set_Expression [ ,Numeric Expression ] )  

Arguments

Tuple_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un tuple.

Set_Expression
Expression MDX (Multidimensional Expressions) valide qui retourne un jeu.

Numeric_Expression
Expression numérique valide qui correspond généralement à une expression MDX (Multidimensional Expressions) des coordonnées des cellules qui retournent un nombre.

Remarques

Si une expression numérique est spécifiée, la fonction Rank détermine le rang de base unique pour le tuple spécifié en évaluant l’expression numérique spécifiée par rapport au tuple. Si une expression numérique est spécifiée, la fonction Rank attribue le même rang aux tuples avec des valeurs dupliquées dans le jeu. L'attribution du même rang aux doublons affecte le rang des tuples suivants dans le jeu. Soit par exemple un jeu constitué des tuples suivants, {(a,b), (e,f), (c,d)} : le tuple (a,b) a la même valeur que le tuple (c,d). Si le tuple (a,b) a le rang 1, alors (a,b) et (c,d) ont tous deux le rang 1. Toutefois, le tuple (e,f) aura un rang égal à 3. Il ne peut y avoir aucun tuple dans ce jeu avec un rang égal à 2.

Si aucune expression numérique n’est spécifiée, la fonction Rank retourne la position ordinale de base un du tuple spécifié.

La fonction Rank ne classe pas le jeu.

Exemple

L’exemple suivant retourne l’ensemble de tuples contenant les clients et les dates d’achat, en utilisant les fonctions Filter, NonEmpty, Item et Rank pour rechercher la dernière date à laquelle chaque client a effectué un achat.

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]  

L’exemple suivant utilise la fonction Order , plutôt que la fonction Rank , pour classer les membres de la hiérarchie City en fonction de la mesure Reseller Sales Amount, puis les affiche dans l’ordre classé. En utilisant la fonction Order pour d’abord classer l’ensemble des membres de la hiérarchie City, le tri est effectué une seule fois, puis suivi d’une analyse linéaire avant d’être présenté dans l’ordre trié.

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]  

Voir aussi

Order (MDX)
Guide de référence des fonctions MDX (MDX)