Lire en anglais

Partager via


RANKX

S’applique à :Colonne calculéeTable calculéeMesureCalcul de 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 valeur scalaire unique. L’expression est évaluée pour chaque ligne de table, afin de générer toutes les valeurs possibles pour le classement. Consultez la section remarques pour comprendre le comportement de la fonction lorsque expression prend la valeur BLANK.

value
(Facultatif) Toute expression DAX qui retourne une valeur scalaire unique dont le classement doit être recherché. Consultez la section remarques pour comprendre le comportement de la fonction lorsque value est introuvable dans l’expression.

Lorsque le paramètre value est omis, la valeur de l’expression à la ligne actuelle est utilisée à la place.

order
(Facultatif) Valeur qui spécifie comment classer value, faible à élevé ou élevé à faible :

valeur Valeur alternative Description
0 (zéro) FALSE Le classement s’effectue dans l’ordre décroissant des valeurs de l’expression. Si la valeur est égale au nombre le plus élevé dans l’expression, RANKX retourne 1.

Il s’agit de la valeur par défaut quand le paramètre order est omis.
1 TRUE Le classement s’effectue dans l’ordre croissant des valeurs de l’expression. Si la valeur est égale au nombre le plus faible dans l’expression, RANKX retourne 1.

ties
(Facultatif) Énumération qui définit comment déterminer le classement en présence d’égalités.

énumération Description
Skip Le rang qui suit une égalité correspond au rang de l’égalité plus le nombre de valeurs incluses dans l’égalité. Par exemple, si cinq (5) valeurs sont classées à égalité au rang 11, la valeur suivante sera classée au rang 16 (11 + 5).

Il s’agit de la valeur par défaut lorsque ties paramètre est omis.
Dense Le rang qui suit une égalité est le rang suivant. Par exemple, si cinq (5) valeurs sont classées à égalité au rang 11, la valeur suivante sera classée au rang 12.

Valeur de retour

Numéro de classement de value parmi toutes les valeurs possibles de expression évaluées pour toutes les lignes de table nombres.

Notes

  • Si expression ou value prend la valeur BLANK, il est traité comme un 0 (zéro) pour toutes les expressions qui entraînent un nombre, ou comme un texte vide pour toutes les expressions de texte.

  • Si value n’est pas parmi toutes les valeurs possibles de expression, RANKX ajoute temporairement value aux valeurs de expression et réévalue RANKX pour déterminer le rang approprié 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").

  • Comparaisons liées à l’égalité (=, <, >, >= et <=) entre les valeurs avec le type de données nombre décimal peut potentiellement retourner des résultats inattendus lors de l’utilisation de la fonction RANKX. Des résultats incorrects peuvent se produire, car les valeurs avec le type de données Nombre décimal sont stockées en tant que nombres à virgule flottante conformément à la norme IEEE 754 et présentent des limitations inhérentes de précision. Pour éviter d’obtenir des résultats inattendus, modifiez le type de données en Nombre décimal fixe ou effectuez un arrondi forcé à l’aide de ROUND.

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des 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 Internet de chaque produit.

= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))