ROWNUMBER
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Retourne le classement unique du contexte actuel dans la partition spécifiée triée selon l’ordre spécifié. Si une correspondance est introuvable, le numéro de ligne est vide.
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
Si spécifié, toutes les colonnes de orderBy et partitionBy doivent provenir de celle-ci.
s’il est omis : - orderBy doit être spécifié explicitement.- Toutes les colonnes orderBy et partitionBy doivent être complètes et proviennent d’une table unique.
: valeur par défaut ALLSELECTED() de toutes les colonnes dans orderBy et partitionBy . |
axis |
(Facultatif) Axe de la forme du visuel. Disponible uniquement dans les calculs visuels et remplace relation . |
orderBy |
(Facultatif) Clause ORDERBY() contenant les colonnes qui définissent la façon dont chaque partition est triée.
s’il est omis : - relation doit être spécifié explicitement.
: la commande par défaut par chaque colonne de relation qui n’est pas déjà spécifiée dans partitionBy . |
blanks |
(Facultatif) Énumération qui définit comment gérer les valeurs vides lors du tri de l'relation ou axis .
Les valeurs prises en charge sont les suivantes :
Remarque, lorsque le paramètre blanks et les vides dans la fonction ORDERBY() () sur les expressions individuelles sont tous deux spécifiés, blanks sur l’expression orderBy individuelle prend la priorité pour l’expression orderBy appropriée, et les expressions orderBy sans blanks être spécifiées respecteront le paramètre blanks sur la fonction parente. |
partitionBy |
(Facultatif) Clause PARTITIONBY() contenant les colonnes qui définissent la façon dont relation est partitionnée. En cas d’omission, relation est traité comme une partition unique. |
matchBy |
(Facultatif) Clause MATCHBY() contenant les colonnes qui définissent comment faire correspondre les données et identifier la ligne actuelle. |
reset |
(Facultatif) Disponible seulement dans les calculs de visuel. Indique si le calcul est réinitialisé et au niveau de la hiérarchie des colonnes de la forme visuelle. Les valeurs acceptées sont : une référence de champ à une colonne dans la forme visuelle actuelle, NONE (valeur par défaut), LOWESTPARENT , HIGHESTPARENT ou un entier. Le comportement dépend du signe entier : - Si zéro ou omis, le calcul ne se réinitialise pas. Équivalent à NONE .
- Si positif, l’entier identifie la colonne à partir du plus haut, indépendamment du grain. HIGHESTPARENT équivaut à 1.
- Si négatif, l’entier identifie la colonne à partir de la plus basse, par rapport au grain actuel. LOWESTPARENT équivaut à -1. |
Valeur de retour
Numéro de ligne du contexte actuel.
Notes
Chaque orderBy
, partitionBy
et colonne matchBy
doivent avoir une valeur externe correspondante pour vous aider à définir la ligne actuelle sur laquelle fonctionner, avec le comportement suivant :
- S’il existe exactement une colonne externe correspondante, sa valeur est utilisée.
- S’il n’existe aucune colonne externe correspondante, puis :
-
ROWNUMBER détermine d’abord toutes les
orderBy
, lespartitionBy
et les colonnesmatchBy
qui n’ont aucune colonne externe correspondante. - Pour chaque combinaison de valeurs existantes pour ces colonnes dans ROWNUMBER contexte parent, ROWNUMBER est évaluée et une ligne est retournée.
- ROWNUMBERla sortie finale est une union de ces lignes.
-
ROWNUMBER détermine d’abord toutes les
- S’il existe plusieurs colonnes externes correspondantes, une erreur est retournée.
Si matchBy
est présent, ROWNUMBER essaie d’utiliser des colonnes dans matchBy
et partitionBy
pour idenfity de la ligne actuelle.
Si les colonnes spécifiées dans orderBy
et partitionBy
ne peuvent pas identifier de manière unique chaque ligne dans relation
, puis :
- ROWNUMBER tenterez de trouver le nombre minimum de colonnes supplémentaires requises pour identifier de manière unique chaque ligne.
- Si de telles colonnes sont disponibles, ROWNUMBER
- Essayez de trouver 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.
- Si de telles colonnes sont introuvables et que la fonction détecte un lien au moment de l’exécution, une erreur est retournée.
reset
peuvent être utilisés uniquement dans les calculs visuels et ne peuvent pas être utilisés en combinaison avec orderBy
ou partitionBy
. Si reset
est présente, axis
peut être spécifié, mais relation
ne peut pas le faire.
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 et 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 se classent de manière unique chaque mois par le total des ventes, à la fois dans chaque année et dans l’historique entier.
La capture d’écran ci-dessous montre la matrice visuelle et la première expression de calcul visuel :
de calcul visuel