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 orderBy andpartitionBy afkomstig zijn.
If weggelaten: - orderBy moet expliciet worden opgegeven.: All orderBy andpartitionBy kolommen moeten volledig gekwalificeerde and afkomstig zijn uit één tabel.
: standaard ingesteld op ALLSELECTED() van all kolommen in orderBy andpartitionBy . |
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:
Opmerking: wanneer blanks and 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 firstall
orderBy
,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.
-
ROWNUMBER bepaalt firstall
- If er meer dan één corresponderende buitenkolom is, wordt een error geretourneerd.
If
matchBy
aanwezig is, probeert ROWNUMBER kolommen in matchBy
andpartitionBy
te gebruiken om de huidige rij te idenfiteit.
If de kolommen die zijn opgegeven in orderBy
andpartitionBy
elke rij in relation
niet 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 orderBy
orpartitionBy
.
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: