RANKX
s’applique à :colonne calculéetable calculéeMeasurecalcul visuel
Retourne le classement d’un nombre dans une liste de nombres pour chaque ligne de l’argument table
.
Syntaxe
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Paramètres
table
toute expression DAX qui retourne une table de données sur laquelle l’expression est évaluée.
expression
toute expression DAX qui retourne une valuescalaire unique. L’expression est évaluée pour chaque ligne de table
, pour generateallvalues possible pour le classement. Consultez la section remarques pour comprendre le comportement de la fonction lorsque expression
prend la valeur BLANK.
value
(Facultatif) Toute expression de DAX qui retourne une seule value scalaire dont la rank doit être trouvée. Consultez la section remarques pour comprendre le comportement de la fonction lorsque value
est not trouvé dans l’expression.
Lorsque le paramètre value
est omis, le value de l’expression à la ligne actuelle est utilisé à la place.
order
(facultatif) value qui spécifie comment rankvalue
, faible à élevé or élevé à faible :
value | value de remplacement | Description |
---|---|---|
0 (zéro) | FALSE |
Classe dans l’ordre décroissant de values d’expression.
If
value est égal au nombre le plus élevé dans l’expression, puis RANKX retourne 1. Il s’agit de la value par défaut lorsque le paramètre order est omis. |
1 | TRUE |
Le classement s’effectue dans l’ordre croissant des valeurs de l’expression. If value est égal au nombre le plus bas dans l’expression, puis RANKX retourne 1. |
ties
(facultatif) Énumération qui définit comment déterminer le classement lorsqu’il existe des liens.
énumération | Description |
---|---|
Skip |
Le nextrankvalue, après une cravate, est la rankvalue de la cravate plus la count de valuesliée . Par exemple, if cinq (5) values sont liées avec un rank de 11, le nextvalue recevra une rank de 16 (11 + 5). Il s’agit de la value par défaut lorsque ties paramètre est omis. |
Dense |
Le nextrankvalue, après une cravate, est la nextrankvalue. Par exemple, if cinq (5) values sont liées à une rank de 11, le nextvalue recevra une rank de 12. |
Retourner value
Nombre rank de value
parmi allvalues de expression
évaluées pour all lignes de nombres table
.
Notes
If
expression
orvalue
évalue à BLANK il est traité comme un 0 (zéro) pour les expressions all qui entraînent un nombre, or en tant que texte vide pour all expressions de texte.If
value
est not parmi allvalues deexpression
puis RANKX ajoute temporairementvalue
au values deexpression
and réévalue RANKX pour déterminer la rank appropriée devalue
.Les arguments facultatifs peuvent être ignorés en plaçant une virgule vide (,) dans la liste d’arguments, par exemple
RANKX(Inventory, [InventoryCost],,,"Dense")
.Les comparaisons d’égalité
( , , , ) entre avec le type de données nombre décimal peuvent potentiellement retourner des résultats inattendus lors de l’utilisation de fonction. Des résultats incorrects peuvent se produire, car values avec type de données nombre décimal sont stockés en tant que nombres à virgule flottante IEEE Standard 754 and ont des limitations inhérentes à leur précision. Pour éviter les résultats inattendus, modifiez le type de données en Fixed nombre décimalor effectuer un arrondi forcé à l’aide de ROUND. Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).
Exemple
La colonne calculée suivante dans la table Products calcule le classement des ventes pour chaque product dans le canal Internet.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))