Partager via


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 or value é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 de expression puis RANKX ajoute temporairement value au values de expressionand réévalue RANKX pour déterminer la rank appropriée de value.

  • 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]))