RÆKKENUMMER
Gælder for: Beregning af målingsvisualisering for beregnet kolonne i beregnet tabel
Returnerer den entydige rangering for den aktuelle kontekst i den angivne partition sorteret efter den angivne rækkefølge. Hvis der ikke blev fundet et match, er rækkenummer tomt.
Syntaks
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametre
Begreb | Definition |
---|---|
forhold | (Valgfrit) Et tabeludtryk, som outputrækken returneres fra. Hvis det er angivet, skal alle kolonner i <orderBy> og <partitionBy> komme fra den. Hvis det udelades: - <orderBy> skal angives eksplicit. – Alle <orderBy> - og <partitionBy-kolonner> skal være fuldt kvalificerede og komme fra en enkelt tabel. – Som standard til ALLSELECTED() for alle kolonner i <orderBy> og <partitionBy>. |
akse | (Valgfrit) En akse i visualiseringsfiguren. Kun tilgængelig i visuelle beregninger og erstatter <relationen>. |
orderBy | (Valgfrit) En ORDERBY()-delsætning, der indeholder de kolonner, der definerer, hvordan hver partition sorteres. Hvis det udelades: - <relationen> skal angives eksplicit. – Som standard sorteres efter hver kolonne i <relation> , der ikke allerede er angivet i <partitionBy>. |
Tomme | (Valgfrit) En optælling, der definerer, hvordan tomme værdier skal håndteres ved sortering. De understøttede værdier er:
Bemærk, at når <der begge er angivet blanks-parametre> og tomme værdier i funktionen ORDERBY() for individuelle udtryk, <prioriteres tomme> værdier i det enkelte orderBy-udtryk for det relevante orderBy-udtryk, og orderBy-udtryk, uden <at der er angivet tomme værdier> , vil overholde <parameteren blanks> i den overordnede vinduesfunktion. |
partitionBy | (Valgfrit) En PARTITIONBY()-delsætning, der indeholder de kolonner, der definerer, hvordan <relationen> partitioneres. Hvis den udelades, <behandles relationen> som en enkelt partition. |
matchBy | (Valgfrit) En MATCHBY()-delsætning, der indeholder de kolonner, der definerer, hvordan dataene skal matche og identificere den aktuelle række. |
Nulstille | (Valgfrit) Kun tilgængelig i visuelle beregninger. Angiver, om beregningen nulstilles, og på hvilket niveau i den visuelle figurs kolonnehierarki. Accepterede værdier er: NONE, LOWESTPARENT, HIGHESTPARENT eller et heltal. Funktionsmåden afhænger af heltalstegnet: - Hvis nul eller udeladt, nulstilles beregningen ikke. Svarer til NONE. – Hvis den er positiv, identificerer heltalet kolonnen med start fra den højeste, uafhængig af kornet. HIGHESTPARENT svarer til 1. – Hvis det er negativt, identificerer heltalet kolonnen med start fra det laveste i forhold til den aktuelle detaljering. LOWESTPARENT svarer til -1. |
Returværdi
Rækkenummernummeret for den aktuelle kontekst.
Bemærkninger
Hver <orderBy>-, <partitionBy>- og <matchBy-kolonne> skal have en tilsvarende ydre værdi for at hjælpe med at definere den aktuelle række, der skal arbejdes på, med følgende funktionsmåde:
- Hvis der er nøjagtigt én tilsvarende ydre kolonne, bruges dens værdi.
- Hvis der ikke er nogen tilsvarende ydre kolonne, så:
- ROWNUMBER bestemmer først alle <kolonner af typen orderBy>, <partitionBy> og <matchBy> , der ikke har en tilsvarende ydre kolonne.
- For hver kombination af eksisterende værdier for disse kolonner i den overordnede kontekst ROWNUMBER evalueres ROWNUMBER, og der returneres en række.
- ROWNUMBER's endelige output er en forening af disse rækker.
- Hvis der er mere end én tilsvarende ydre kolonne, returneres der en fejl.
Hvis <matchBy> er til stede, forsøger ROWNUMBER at bruge kolonner i <matchBy> og <partitionBy> til at idenfity den aktuelle række.
Hvis de kolonner, der er angivet i <orderBy> og <partitionBy> , ikke entydigt kan identificere hver række i <relationen>, så:
- ROWNUMBER forsøger at finde det mindste antal ekstra kolonner, der kræves for entydigt at identificere hver række.
- Hvis sådanne kolonner findes, vil ROWNUMBER
- Prøv at finde det mindste antal ekstra kolonner, der kræves for entydigt at identificere hver række.
- Føj automatisk disse nye kolonner til <orderBy-delsætningen> .
- Sortér hver partition ved hjælp af dette nye sæt orderBy-kolonner.
- Hvis sådanne kolonner ikke blev fundet, og funktionen registrerer et slips på kørselstidspunktet, returneres der en fejl.
<nulstilling> kan kun bruges i visuelle beregninger og kan ikke bruges i kombination med <orderBy> eller <partitionBy>. Hvis <nulstilling> er til stede, kan aksen> angives, <men <relationen> kan ikke.
Eksempel 1 – beregnet kolonne
Følgende DAX-forespørgsel:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"UniqueRank",
ROWNUMBER(
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Returnerer en tabel, der entydigt rangerer hver geografi med samme EnglishCountryRegionName efter deres StateProvinceName og City.
Eksempel 2 – visuel beregning
Følgende DAX-forespørgsler til visuel beregning:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
Opret to kolonner, der entydigt rangerer hver måned efter det samlede salg, både inden for hvert år og hele historikken.
Skærmbilledet nedenfor viser den visuelle matrix og det første visuelle beregningsudtryk: