Lire en anglais

Partager via


RANK

s’applique à :colonne calculéetable calculéeMeasurecalcul visuel

Retourne le classement du contexte actuel dans la partition spécifiée, trié par ordre spécifié. If une correspondance est introuvable, puis rank est blank.

Syntaxe

DAX
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Paramètres

Terme Définition
ties (Facultatif) Définit comment gérer le classement lorsque deux or plus de lignes sont liées.
If spécifié, le value pris en charge est DENSE, or SKIP.
If omis :
- Valeurs par défaut pour SKIP
relation (Facultatif) Expression de table à partir de laquelle la ligne de sortie est retournée.
If spécifiée, all colonnes dans orderByandpartitionBy doivent provenir de celle-ci.
If omis :
- orderBy doit être spécifié explicitement.
- AllorderByandpartitionBy colonnes doivent être complètes and proviennent d’une table unique.
: valeur par défaut ALLSELECTED() des colonnes all dans orderByandpartitionBy.
axis (Facultatif) Axe de la forme visuelle. Disponible uniquement dans les calculs visuels, and remplace relation.
orderBy (Facultatif) Clause ORDERBY() contenant les colonnes qui define la façon dont chaque partition est triée.
If omis :
- relation doit être spécifié explicitement.
: tri par défaut par chaque colonne dans relation qui est not déjà spécifiée dans partitionBy.
blanks (Facultatif) Énumération qui définit comment gérer blankvalues lors du tri.
Les values prises en charge sont les suivantes :
  • KEEP (la valuepar défaut), où le comportement des values numériques est blankvalues sont classés entre zéro andvaluesnégatif . Le comportement des chaînes est blankvalues sont classés avant all chaînes, y compris les chaînes vides.
  • FIRST, les espaces sont toujours triés au début, quel que soit l’ordre croissant or tri décroissant.
  • LAST, les espaces sont toujours triés à la fin, quel que soit l’ordre croissant or tri décroissant.

Remarque, lorsque blanks paramètre and vides dans ORDERBYfonction () sur une expression individuelle sont tous deux spécifiés, blanks sur l’expression orderBy individuelle prend la priorité pour l’expression orderBy appropriée, andorderBy expressions sans blanks être spécifiées honorera blanks paramètre sur la fonction Window parente.
partitionBy (Facultatif) Clause PARTITIONBY() contenant les colonnes qui define comment relation est partitionnée.
If omis, relation est traitée comme une partition unique.
matchBy (Facultatif) Clause MATCHBY() contenant les colonnes qui define comment faire correspondre les données and identifier la ligne actuelle.
reset (Facultatif) Disponible uniquement dans les calculs visuels. Indique if les réinitialisations de calcul, and à quel niveau de la hiérarchie de colonnes de la forme visuelle. Les values acceptés sont les suivants : NONE, LOWESTPARENT, HIGHESTPARENT, or un entier. Le comportement dépend de l’entier sign:
- If zéro or omis, le calcul ne réinitialise not. Équivalent à NONE.
- If positif, l’entier identifie la colonne à partir du grain le plus élevé, indépendamment du grain. HIGHESTPARENT équivaut à 1.
- If négatif, l’entier identifie la colonne à partir du plus bas, par rapport au grain actuel. LOWESTPARENT équivaut à -1.

Retourner value

Numéro rank pour le contexte actuel.

Remarques

  • Chaque orderBy, partitionBy, andmatchBy colonne doit avoir un value externe correspondant pour aider à define la ligne actuelle sur laquelle fonctionner, avec le comportement suivant :

    • If il existe exactement une colonne externe correspondante, son value est utilisé.
    • If il n’existe aucune colonne externe correspondante, puis :
      • RANK détermine first déterminer allorderBy, partitionBy, andmatchBy colonnes qui n’ont aucune colonne externe correspondante.
      • Pour chaque combinaison de values existantes pour ces colonnes dans RANK contexte parent, RANK est évaluée and une ligne est retournée.
      • RANKla sortie finale est un nombre rank.
  • If matchBy est présente, alors RANK essaie d’utiliser des colonnes dans matchByandpartitionBy pour idenfity de la ligne actuelle.

  • If les colonnes spécifiées dans orderByandpartitionBy ne peuvent pas identifier de manière unique chaque ligne dans relation, alors deux or plus de lignes peuvent avoir le même classement and le classement sera déterminé par le paramètre de liens.

  • RANK retourne un blankvalue pour les lignes totales. Il est recommandé de tester soigneusement votre expression.

  • RANK ne compare not à RANKX que SUM compare à SUMX.

  • reset peuvent être utilisés uniquement dans les calculs visuels, and ne peuvent pas être utilisés en combinaison avec orderByorpartitionBy. If reset est présente, axis peut être spécifiée, mais relation ne peut pas.

Exemple 1 : colonne calculée

Requête DAX suivante :

DAX
EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "Rank",
    RANK(
    	DENSE,
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
        LAST,
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Retourne une table qui classe chaque zone géographique avec le même EnglishCountryRegionName, par leur StateProvinceName and City. Blank orderBy colonne values sont triées à la fin.

Exemple 2 : calcul visuel

Le calcul visuel suivant DAX requêtes :

DAX
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

Créez deux colonnes qui rank chaque month par le total des ventes, à la fois dans chaque year, and l’historique entier.

La capture d’écran ci-dessous montre la matrice visuelle and l’expression de calcul visuel first :

DAX de calcul visuel

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER