RIJNUMMER

Van toepassing op: Berekende kolomBerekende tabelMetingVisuele berekening

Retourneert de unieke classificatie voor de huidige context binnen de opgegeven partitie, gesorteerd op de opgegeven volgorde. Als een overeenkomst niet kan worden gevonden, is rijnummer leeg.

Syntaxis

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

Parameters

Term Definitie
Relatie (Optioneel) Een tabelexpressie waaruit de uitvoerrij wordt geretourneerd.
Indien opgegeven, moeten alle kolommen in <orderBy> en <partitionBy> er uit komen.
Als u dit weglaat:
- <orderBy> moet expliciet worden opgegeven.
- Alle <kolommen orderBy> en <partitionBy> moeten volledig zijn gekwalificeerd en afkomstig zijn van één tabel.
- Standaard ingesteld op ALLSELECTED() van alle kolommen in <orderBy> en <partitionBy>.
as (Optioneel) Een as in de visuele shape. Alleen beschikbaar in visuele berekeningen en vervangt <de relatie>.
Orderby (Optioneel) Een ORDERBY()-component met de kolommen die bepalen hoe elke partitie wordt gesorteerd.
Als u dit weglaat:
- <relatie> moet expliciet worden opgegeven.
- Hiermee wordt standaard elke kolom gerangschikt in <relatie> die nog niet is opgegeven in <partitionBy>.
Blanks (Optioneel) Een opsomming waarmee wordt gedefinieerd hoe lege waarden moeten worden verwerkt bij het sorteren.
De ondersteunde waarden zijn:
  • STANDAARD (de standaardwaarde), waarbij het gedrag voor numerieke waarden lege waarden is tussen nul en negatieve waarden. Het gedrag voor tekenreeksen is lege waarden die vóór alle tekenreeksen worden geordend, inclusief lege tekenreeksen.
  • EERST worden lege waarden altijd op het begin gerangschikt, ongeacht de aflopende of aflopende sorteervolgorde.
  • LAATSTE, lege waarden worden altijd aan het einde gerangschikt, ongeacht de aflopende of aflopende sorteervolgorde.

Houd er rekening mee dat <wanneer de parameter voor lege> waarden en lege waarden in de functie ORDERBY() voor afzonderlijke expressies beide zijn opgegeven, <lege waarden> voor de afzonderlijke orderBy-expressie prioriteit hebben voor de relevante orderBy-expressie en orderBy-expressies zonder <dat er lege waarden> zijn opgegeven, worden lege parameter voor> de bovenliggende vensterfunctie gebruikt<.
partitionBy (Optioneel) Een PARTITIONBY()-component met de kolommen die definiëren hoe <relatie> wordt gepartitioneerd.
Als u dit weglaat, <wordt de relatie> behandeld als één partitie.
matchBy (Optioneel) Een MATCHBY()-component met de kolommen die bepalen hoe gegevens moeten worden vergeleken en de huidige rij moet worden geïdentificeerd.
opnieuw instellen (Optioneel) Alleen beschikbaar in visuele berekeningen. Geeft aan of de berekening opnieuw wordt ingesteld en op welk niveau van de kolomhiërarchie van de visualshape. Geaccepteerde waarden zijn: NONE, LOWESTPARENT, HIGHESTPARENT of een geheel getal. Het gedrag is afhankelijk van het gehele getalteken:
- Als nul of weggelaten wordt, wordt de berekening niet opnieuw ingesteld. Gelijk aan NONE.
- Als positief, identificeert het gehele getal de kolom die begint vanaf het hoogste, onafhankelijk van de korrel. HIGHESTPARENT is gelijk aan 1.
- Als dit negatief is, identificeert het gehele getal de kolom die begint vanaf het laagste getal, ten opzichte van de huidige korrel. LAAGSTEPARENT is gelijk aan -1.

Retourwaarde

Het rijnummer voor de huidige context.

Opmerkingen

Elke <orderBy-, <partitionBy>- en <matchBy-kolom>> moet een bijbehorende buitenste waarde hebben om de huidige rij te definiëren waarop moet worden uitgevoerd, met het volgende gedrag:

  • Als er precies één corresponderende buitenkolom is, wordt de waarde ervan gebruikt.
  • Als er geen overeenkomstige buitenste kolom is, gaat u als volgt te werk:
    • ROWNUMBER bepaalt eerst alle <kolommen orderBy>, <partitionBy> en <matchBy> die geen bijbehorende buitenste kolom hebben.
    • Voor elke combinatie van bestaande waarden voor deze kolommen in de bovenliggende context RIJNUMMER wordt ROWNUMBER geëvalueerd en wordt een rij geretourneerd.
    • DE uiteindelijke uitvoer van ROWNUMBER is een samenvoeging van deze rijen.
  • Als er meer dan één corresponderende buitenkolom is, wordt er een fout geretourneerd.

Als <matchBy> aanwezig is, probeert ROWNUMBER kolommen te gebruiken in <matchBy en <partitionBy>> om de huidige rij te idenfity.
Als de kolommen die zijn opgegeven in <orderBy> en <partitionBy> niet elke rij in <relatie> uniek kunnen identificeren, dan:

  • ROWNUMBER probeert het minste aantal extra kolommen te vinden dat nodig is om elke rij uniek te identificeren.
  • Als dergelijke kolommen kunnen worden gevonden, zal ROWNUMBER
    • Probeer het minste aantal extra kolommen te vinden dat nodig is om elke rij uniek te identificeren.
    • Voeg deze nieuwe kolommen automatisch toe aan <de orderBy-component> .
    • Sorteer elke partitie met behulp van deze nieuwe set orderBy-kolommen.
  • Als dergelijke kolommen niet kunnen worden gevonden en de functie tijdens runtime een tie detecteert, wordt er een fout geretourneerd.

<reset> kan alleen worden gebruikt in visuele berekeningen en kan niet worden gebruikt in combinatie met <orderBy> of <partitionBy>. Als <het opnieuw instellen> aanwezig is, kan de as> worden opgegeven, <maar <niet de relatie>.

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 en Plaats.

Voorbeeld 2: visuele berekening

De volgende DAX-query's voor visuele berekeningen:

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

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

Maak twee kolommen die elke maand uniek rangschikken op basis van de totale verkoop, zowel binnen elk jaar als de hele geschiedenis.

In de onderstaande schermopname ziet u de visualmatrix en de eerste expressie voor het berekenen van de visual:

Berekening van DAX-visuals

INDEX
ORDERBY
PARTITIONBY
VENSTER
RANG