Delen via


ROWNUMBER

Van toepassing op:berekende kolomberekende tabelMeasureVisuele berekening

Retourneert de unieke classificatie voor de huidige context binnen de opgegeven partitie, gesorteerd op de opgegeven volgorde. If een overeenkomst niet kan worden gevonden, wordt rownumberblank.

Syntaxis

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

Parameters

Term Definitie
relation (Optioneel) Een tabelexpressie waaruit de uitvoerrij wordt geretourneerd.
If opgegeven, moeten all kolommen in orderByandpartitionBy afkomstig zijn.
If weggelaten:
- orderBy moet expliciet worden opgegeven.
: AllorderByandpartitionBy kolommen moeten volledig gekwalificeerde and afkomstig zijn uit één tabel.
: standaard ingesteld op ALLSELECTED() van all kolommen in orderByandpartitionBy.
axis (Optioneel) Een as in de visuele shape. Alleen beschikbaar in visuele berekeningen, and vervangt relation.
orderBy (Optioneel) Een ORDERBY() component met de kolommen die define hoe elke partitie wordt gesorteerd.
If weggelaten:
- relation moet expliciet worden opgegeven.
: standaard wordt elke kolom in relation gerangschikt die not al is opgegeven in partitionBy.
blanks (Optioneel) Een opsomming die definieert hoe blankvalues moet worden verwerkt bij het sorteren.
De ondersteunde values zijn:
  • DEFAULT (de standaardinstelling value), waarbij het gedrag voor numerieke valuesblankvalues tussen nul and negatieve valuesworden gerangschikt. Het gedrag voor tekenreeksen wordt blankvalues worden geordend voordat all tekenreeksen, inclusief lege tekenreeksen.
  • FIRSTworden lege waarden altijd op het begin gerangschikt, ongeacht oplopende or aflopende sorteervolgorde.
  • LASTworden lege waarden altijd aan het einde gesorteerd, ongeacht oplopende or aflopende sorteervolgorde.

Opmerking: wanneer blanksand parameter lege waarden in ORDERBY() functie voor afzonderlijke expressies beide zijn opgegeven, heeft blanks voor afzonderlijke orderBy expressie prioriteit voor de relevante orderBy expressie, andorderBy expressies zonder blanks worden opgegeven, blanks parameter voor bovenliggende Window functie.
partitionBy (Optioneel) Een PARTITIONBY() component met de kolommen die define hoe relation wordt gepartitioneerd.
If weggelaten, wordt relation behandeld als één partitie.
matchBy (Optioneel) Een MATCHBY() component met de kolommen die define hoe gegevens overeenkomen and de huidige rij identificeren.
reset (Optioneel) Alleen beschikbaar in visuele berekeningen. Hiermee wordt aangegeven if de berekening opnieuw wordt ingesteld and op welk niveau van de kolomhiërarchie van de visualshape. Geaccepteerde values zijn: een veldreferentie naar een kolom in de huidige visuele shape, NONE (standaard), LOWESTPARENT, HIGHESTPARENT, or een geheel getal. Het gedrag is afhankelijk van het gehele getal sign:
- If nul or weggelaten, wordt de berekening not opnieuw ingesteld. Gelijk aan NONE.
- If positief, identificeert het gehele getal de kolom die begint vanaf het hoogste, onafhankelijk van graan. HIGHESTPARENT is gelijk aan 1.
- If negatief, identificeert het gehele getal de kolom die begint vanaf het laagste getal ten opzichte van de huidige korrel. LOWESTPARENT is gelijk aan -1.

value retourneren

Het rownumber getal voor de huidige context.

Opmerkingen

Elke orderBy, partitionBy, andmatchBy kolom moet een overeenkomende buitenste value hebben om de huidige rij waarop moet worden uitgevoerd te define, met het volgende gedrag:

  • If er precies één overeenkomstige buitenkolom is, wordt de value gebruikt.
  • If er geen overeenkomstige buitenste kolom is, gaat u als volgt te werk:
    • ROWNUMBER bepaalt firstallorderBy, partitionBy, andmatchBy kolommen die geen overeenkomende buitenste kolom hebben.
    • Voor elke combinatie van bestaande values voor deze kolommen in ROWNUMBER bovenliggende context wordt ROWNUMBER geëvalueerd and een rij wordt geretourneerd.
    • ROWNUMBERuiteindelijke uitvoer is een union van deze rijen.
  • If er meer dan één corresponderende buitenkolom is, wordt een error geretourneerd.

If matchBy aanwezig is, probeert ROWNUMBER kolommen in matchByandpartitionBy te gebruiken om de huidige rij te idenfiteit. If de kolommen die zijn opgegeven in orderByandpartitionBy elke rij in relationniet uniek kunnen identificeren. Vervolgens:

  • ROWNUMBER probeert het minste aantal extra kolommen te find dat nodig is om elke rij uniek te identificeren.
  • If dergelijke kolommen kunnen worden gevonden, ROWNUMBER
    • Probeer het minste aantal extra kolommen te find dat nodig is om elke rij uniek te identificeren.
    • Voeg deze nieuwe kolommen automatisch toe aan orderBy component.
    • Sorteer elke partitie met behulp van deze nieuwe set orderBy kolommen.
  • If dergelijke kolommen niet kunnen worden gevonden and de functie tijdens runtime een tie detecteert, wordt een error geretourneerd.

reset kan alleen worden gebruikt in visuele berekeningen, and kan niet worden gebruikt in combinatie met orderByorpartitionBy. If reset aanwezig is, kan axis worden opgegeven, maar relation niet.

Voorbeeld 1: berekende kolom

De volgende DAX query:

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

Retourneert een tabel die elke geografie uniek rangschikt met dezelfde EnglishCountryRegionName, op basis van hun StateProvinceName and City.

Voorbeeld 2: visuele berekening

De volgende visuele berekening DAX query's:

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

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

Maak twee kolommen die elk rank uniek month op basis van de totale verkoop, zowel binnen elke year, and de hele geschiedenis.

In de onderstaande schermopname ziet u de visualmatrix and de first visuele berekeningsexpressie:

DAX visuele berekening

INDEX ORDERBY PARTITIONBY WINDOW RANK