Del via


RADNUMMER

Gjelder beregnet beregning av beregnet tabellfor beregnet kolonne

Returnerer den unike rangeringen for gjeldende kontekst i den angitte partisjonen, sortert etter den angitte rekkefølgen. Hvis du ikke finner et treff, er radnummeret tomt.

Syntaks

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

Parametere

Term Definisjon
Forhold (Valgfritt) Et tabelluttrykk som utdataraden returneres fra.
Hvis angitt, må alle kolonner i <orderBy> og <partitionBy> komme fra den.
Hvis utelatt:
– <orderBy> må angis eksplisitt.
– Alle <orderBy> - og <partitionBy-kolonner> må være fullstendig kvalifiserte og komme fra én enkelt tabell.
– Standarder for ALLSELECTED() for alle kolonner i <orderBy> og <partitionBy>.
akse (Valgfritt) En akse i den visuelle figuren. Bare tilgjengelig i visuelle beregninger, og erstatter <relasjon>.
Orderby (Valgfritt) En ORDERBY()-setningsdel som inneholder kolonnene som definerer hvordan hver partisjon sorteres.
Hvis utelatt:
- <relasjon> må angis eksplisitt.
– Standarder for bestilling av hver kolonne i <relasjon> som ikke allerede er angitt i <partitionBy>.
Tomme (Valgfritt) En opplisting som definerer hvordan du håndterer tomme verdier når du sorterer.
De støttede verdiene er:
  • STANDARD (standardverdien), der virkemåten for numeriske verdier er tomme verdier, er sortert mellom null og negative verdier. Virkemåten for strenger er tomme verdier ordnes før alle strenger, inkludert tomme strenger.
  • FØRST er tomme alltid ordnet i begynnelsen, uavhengig av stigende eller synkende sorteringsrekkefølge.
  • LAST, blanks er alltid sortert på slutten, uavhengig av stigende eller synkende sorteringsrekkefølge.

Vær oppmerksom på at når <tomme> parametere og tomme verdier i ORDERBY()-funksjonen på enkeltuttrykk begge er angitt, prioriteres> tomme verdier for det individuelle orderBy-uttrykket for det relevante orderBy-uttrykket, og orderBy-uttrykk uten <tomme verdier som angis>, <vil overholde <blanks-parameteren> på overordnet Vindu-funksjon.
partitionBy (Valgfritt) En PARTITIONBY()-setningsdel som inneholder kolonnene som definerer hvordan <relasjonen> partisjoneres.
Hvis den utelates, <behandles relasjonen> som én enkelt partisjon.
matchBy (Valgfritt) En MATCHBY()-setningsdel som inneholder kolonnene som definerer hvordan dataene skal samsvare og identifisere gjeldende rad.
Tilbakestille (Valgfritt) Bare tilgjengelig i visuelle beregninger. Angir om beregningen tilbakestilles, og på hvilket nivå i kolonnehierarkiet for visualobjektfiguren. Godtatte verdier er: NONE, LOWESTPARENT, HIGHESTPARENT eller et heltall. Virkemåten avhenger av heltallstegnet:
– Hvis null eller utelatt, tilbakestilles ikke beregningen. Tilsvarer INGEN.
– Hvis det er positivt, identifiserer heltallet kolonnen fra det høyeste, uavhengige kornet. HIGHESTPARENT tilsvarer 1.
– Hvis negativt, identifiserer heltallet kolonnen som starter fra det laveste, i forhold til gjeldende korn. LOWESTPARENT tilsvarer -1.

Returverdi

Radnummeret for gjeldende kontekst.

Merknader

Hver <orderBy>-, <partitionBy>- og <matchBy-kolonne> må ha en tilsvarende ytre verdi for å definere gjeldende rad som skal brukes, med følgende virkemåte:

  • Hvis det er nøyaktig én tilsvarende ytre kolonne, brukes verdien.
  • Hvis det ikke finnes noen tilsvarende ytre kolonne, gjør du følgende:
    • ROWNUMBER bestemmer først alle <orderBy>-, <partitionBy>- og <matchBy-kolonner> som ikke har noen tilsvarende ytre kolonne.
    • For hver kombinasjon av eksisterende verdier for disse kolonnene i overordnet RADNUMMER-kontekst evalueres RADNUMMER og en rad returneres.
    • RADNUMMER endelige utdata er en union av disse radene.
  • Hvis det er mer enn én tilsvarende ytre kolonne, returneres en feil.

Hvis <matchBy> finnes, prøver ROWNUMBER å bruke kolonner i <matchBy> og <partitionBy> for å innrykke gjeldende rad.
Hvis kolonnene som er angitt i <orderBy> og <partitionBy> ikke unikt kan identifisere hver rad i <relasjon>, gjør du følgende:

  • ROWNUMBER vil prøve å finne det minste antallet ekstra kolonner som kreves for å identifisere hver rad unikt.
  • Hvis slike kolonner kan bli funnet, vil RADNUMMER
    • Prøv å finne det minste antallet ekstra kolonner som kreves for å identifisere hver rad unikt.
    • Legg automatisk til disse nye kolonnene i <orderBy-setningsdelen> .
    • Sorter hver partisjon ved hjelp av dette nye settet med orderBy-kolonner.
  • Hvis slike kolonner ikke blir funnet og funksjonen oppdager et slips ved kjøring, returneres en feil.

<tilbakestilling> kan bare brukes i visuelle beregninger, og kan ikke brukes i kombinasjon med <orderBy> eller <partitionBy>. Hvis <tilbakestilling> finnes, kan aksen> angis, <men <relasjonen> kan ikke.

Eksempel 1 – beregnet kolonne

Følgende DAX-spørring:

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 tabell som unikt rangerer hver geografi med samme EnglishCountryRegionName, etter StateProvinceName og City.

Eksempel 2 – visuell beregning

Følgende DAX-spørringer for visualobjektberegning:

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

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

Opprett to kolonner som entydig rangerer hver måned etter det totale salget, både i hvert år og hele loggen.

Skjermbildet nedenfor viser den visuelle matrisen og det første visuelle beregningsuttrykket:

DAX-visualobjektberegning

INDEKS
ORDERBY
PARTITIONBY
VINDUET
RANGERING