Læs på engelsk

Del via


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

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

Parametre

Begreb Definition
relation (Valgfrit) Et tabeludtryk, som outputrækken returneres fra.
Hvis det er angivet, skal alle kolonner i orderBy og partitionBy komme fra den.
Hvis udeladt:
- orderBy skal angives eksplicit.
– Alle kolonner af typen orderBy og partitionBy skal være fuldt kvalificerede og komme fra en enkelt tabel.
– standarden ALLSELECTED() for alle kolonner i orderBy og partitionBy.
axis (Valgfrit) En akse i visualiseringsfiguren. Kun tilgængelig i visuelle beregninger og erstatter relation.
orderBy (Valgfrit) En ORDERBY()-delsætning, der indeholder de kolonner, der definerer, hvordan hver partition sorteres.
Hvis udeladt:
- relation skal angives eksplicit.
– Som standard sorteres efter hver kolonne i relation, der ikke allerede er angivet i partitionBy.
blanks (Valgfrit) En optælling, der definerer, hvordan tomme værdier skal håndteres ved sortering.
De understøttede værdier er:
  • DEFAULT (standardværdien), hvor funktionsmåden for numeriske værdier er tomme værdier, sorteres mellem nul og negative værdier. Funktionsmåden for strenge er tomme værdier sorteres før alle strenge, herunder tomme strenge.
  • FØRST sorteres tomme værdier altid i begyndelsen, uanset stigende eller faldende sorteringsrækkefølge.
  • LAST, sorteres tomme værdier altid til sidst, uanset stigende eller faldende sorteringsrækkefølge.

Bemærk, at når blanks parameter og tomme værdier i funktionen ORDERBY() for det enkelte udtryk begge er angivet, prioriteres blanks i det individuelle orderBy-udtryk for det relevante orderBy-udtryk, og orderBy-udtryk, uden at blanks angives, vil overholde blanks parameter i den overordnede vinduesfunktion.
partitionBy (Valgfrit) En PARTITIONBY()-delsætning, der indeholder de kolonner, der definerer, hvordan relation partitioneres.
Hvis den udelades, behandles relation 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.
reset (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 kolonne af typen orderBy, partitionByog matchBy 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 orderBy, partitionByog matchBy kolonner, 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 relation, 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.

reset kan kun bruges i visuelle beregninger og kan ikke bruges sammen med orderBy eller partitionBy. Hvis reset findes, kan axis angives, men relation kan ikke.

Eksempel 1 – beregnet kolonne

Følgende DAX-forespørgsel:

DAX
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:

DAX
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:

Beregning af DAX-visualisering

INDEKS
ORDERBY
PARTITIONBY
VINDUE
RANG