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
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 orderBy andpartitionBy doivent provenir de celle-ci.
If omis : - orderBy doit être spécifié explicitement.- All orderBy andpartitionBy colonnes doivent être complètes and proviennent d’une table unique.
: valeur par défaut ALLSELECTED() des colonnes all dans orderBy andpartitionBy . |
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 :
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 all
orderBy
,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.
-
RANK détermine first déterminer all
If
matchBy
est présente, alors RANK essaie d’utiliser des colonnes dansmatchBy
andpartitionBy
pour idenfity de la ligne actuelle.If les colonnes spécifiées dans
orderBy
andpartitionBy
ne peuvent pas identifier de manière unique chaque ligne dansrelation
, 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 avecorderBy
orpartitionBy
. Ifreset
est présente,axis
peut être spécifiée, maisrelation
ne peut pas.
Exemple 1 : colonne calculée
Requête DAX suivante :
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 :
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 :
de calcul visuel