Partager via


ROWNUMBER

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

Retourne le classement unique du contexte actuel dans la partition spécifiée triée selon l’ordre spécifié. If une correspondance est introuvable, rownumber est blank.

Syntaxe

ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Paramètres

Terme Définition
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 du visuel. 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 :
  • DEFAULT (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 seulement dans les calculs de visuel. 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 rownumber pour le contexte actuel.

Notes

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 :
    • ROWNUMBER 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 ROWNUMBER contexte parent, ROWNUMBER est évaluée and une ligne est retournée.
    • ROWNUMBERla sortie finale est une union de ces lignes.
  • If il existe plusieurs colonnes externes correspondantes, une error est retournée.

If matchBy est présente, alors ROWNUMBER 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, puis :

  • ROWNUMBER tenterez de find le moins de colonnes supplémentaires requises pour identifier de manière unique chaque ligne.
  • If de telles colonnes sont disponibles, ROWNUMBER
    • Essayez de find le moins de colonnes supplémentaires requises pour identifier de manière unique chaque ligne.
    • Ajoutez automatiquement ces nouvelles colonnes à orderBy clause.
    • Triez chaque partition à l’aide de ce nouvel ensemble de colonnes orderBy.
  • If de telles colonnes sont introuvables and la fonction détecte un lien au moment de l’exécution, une error est retournée.

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 :

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Retourne une table qui classe de manière unique chaque zone géographique avec le même EnglishCountryRegionName, par leur StateProvinceName and City.

Exemple 2 : calcul de visuel

Le calcul visuel suivant DAX requêtes :

SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

Créez deux colonnes qui rank de façon unique 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
RANK