Partager via


RANKX

s’applique à :colonne calculéetable calculéemesurecalcul 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 rang est à trouver. 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 autre valeur Description
0 (zéro) FALSE Classe dans l’ordre décroissant des valeurs d’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 lorsque 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 bas dans l’expression, RANKX retourne 1.

ties (facultatif) Énumération qui définit comment déterminer le classement lorsqu’il existe des liens.

énumération Description
Skip La valeur de classement suivante, après une égalité, est la valeur de classement de l’égalité, ainsi que le nombre de valeurs liées. Par exemple, si cinq (5) valeurs sont liées avec un rang de 11, la valeur suivante reçoit un rang de 16 (11 + 5).

Il s’agit de la valeur par défaut lorsque ties paramètre est omis.
Dense La valeur de classement suivante, après une égalité, est la valeur de classement suivante. Par exemple, si cinq (5) valeurs sont liées avec un rang de 11, la valeur suivante reçoit un rang de 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 est évalué à 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").

  • Les comparaisons liées à l’égalité (, , , et ) entre les valeurs 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 les valeurs avec nombre décimal type de données sont stockées en tant que nombres à virgule flottante IEEE Standard 754 et ont des limitations inhérentes à leur précision. Pour éviter les 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 lorsqu’elle est utilisée dans les colonnes calculées ou les 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 produit du canal Internet.

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