ROWNUMBER
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMittayksikköVisuaalinen laskenta -
Palauttaa nykyisen kontekstin yksilöivän sijoituksen määritetyssä osiossa lajiteltuna määritetyn järjestyksen mukaan. Jos vastaavuutta ei löydy, rivinnumero on tyhjä.
Syntaksi
ROWNUMBER ( [<relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametrit
Termi | Määritelmä |
---|---|
relation |
(Valinnainen) Taulukkolauseke, josta tulosterivi palautetaan.
Jos on määritetty, kaikkien orderBy ja partitionBy sarakkeiden on oltava peräisin siitä.
Jos jätetään pois: - orderBy on määritettävä eksplisiittisesti.– kaikkien orderBy - ja partitionBy -sarakkeiden on oltava täydellisiä, ja ne on oltava peräisin yksittäisestä taulukosta.
: orderBy ja partitionBy sarakkeista ALLSELECTED(). |
axis |
(Valinnainen) Akseli visuaalisessa muodossa. Käytettävissä vain visuaalisissa laskutoimituksissa, ja se korvaa relation . |
orderBy |
(Valinnainen) ORDERBY()-lause, joka sisältää sarakkeet, jotka määrittävät kunkin osion lajittelutavan.
Jos jätetään pois: - relation on määritettävä eksplisiittisesti.
: tämä määrittää oletusarvoisesti järjestyksen relation jokaisen sarakkeen mukaan, mitä ei ole vielä määritetty partitionBy . |
blanks |
(Valinnainen) Luettelointi, joka määrittää, miten tyhjiä arvoja käsitellään lajitellaan relation tai axis .
Tuetut arvot ovat seuraavat:
huomioi, että kun blanks -parametri ja tyhjät ORDERBY()-funktiot yksittäisissä lausekkeissa määritetään, blanks yksittäisessä orderBy-lausekkeessa prioriteetiksi soveltuvalle orderBy-lausekkeelle, ja orderBy-lausekkeet, joita ei blanks määritetä, seuraavat blanks parametria pääfunktiossa. |
partitionBy |
(Valinnainen) PARTITIONBY() -lause, joka sisältää sarakkeet, jotka määrittävät relation jakamisen. Jos tämä jätetään pois, relation käsitellään yksittäisenä osiona. |
matchBy |
(Valinnainen) MATCHBY() -lause, joka sisältää sarakkeet, jotka määrittävät, miten tiedot täsmäävät ja tunnistavat nykyisen rivin. |
reset |
(Valinnainen) Käytettävissä vain visualisoinnin laskutoimituksissa. Ilmaisee, nollataanko laskutoimitus ja millä tasolla visualisoinnin muodon sarakehierarkia on. Hyväksyttyjä arvoja ovat: kenttäviittaus sarakkeeseen nykyisessä visualisoinnin muodossa, NONE (oletus), LOWESTPARENT , HIGHESTPARENT tai kokonaisluku. Toiminta riippuu kokonaislukumerkistä: – Jos nolla tai jätetään pois, laskelmaa ei nollata. Vastaa NONE .
– Jos se on positiivinen, kokonaisluku tunnistaa sarakkeen aloittaen suurimmasta, viljasta riippumatta. HIGHESTPARENT vastaa lukua 1.
– Jos se on negatiivinen, kokonaisluku tunnistaa sarakkeen aloittaen pienimmästä tasosta suhteessa nykyiseen rakeeseen. LOWESTPARENT vastaa lukua -1. |
Palautusarvo
Nykyisen kontekstin rivin numeron numero.
Huomautukset
Jokaisella orderBy
, partitionBy
- ja matchBy
-sarakkeella on oltava vastaava ulkoarvo, jotta toimintatapa voidaan määrittää seuraavalla tavalla:
- Jos ulompaa saraketta on täsmälleen yksi vastaava, käytetään sen arvoa.
- Jos vastaavaa ulkosaraketta ei ole, toimi seuraavasti:
-
ROWNUMBER määrittää ensin kaikki
orderBy
,partitionBy
jamatchBy
sarakkeet, joissa ei ole vastaavaa ulkosaraketta. - ROWNUMBER pääkontekstin näiden sarakkeiden jokaisen olemassa olevien arvojen yhdistelmän ROWNUMBER arvioidaan ja palautetaan rivi.
- ROWNUMBERlopullinen tulos on näiden rivien liitto.
-
ROWNUMBER määrittää ensin kaikki
- Jos vastaavia ulkosarakkeita on useampi kuin yksi, palautetaan virhe.
Jos matchBy
on olemassa, ROWNUMBER yrittää käyttää sarakkeita matchBy
ja partitionBy
nykyisen rivin tunnistaakseen senhetkisen rivin.
Jos orderBy
ja partitionBy
määritetyt sarakkeet eivät pysty yksilöivästi tunnistamaan jokaista relation
riviä, niin:
- ROWNUMBER pyrkii selvittämään, kuinka monta lisäsaraketta jokaisen rivin yksilöimiseen tarvitaan.
- Jos tällaisia sarakkeita löytyy, ROWNUMBER
- Yritä löytää pienin määrä lisäsarakkeita, joita jokaisen rivin yksilöiminen edellyttää.
- Liitä nämä uudet sarakkeet automaattisesti
orderBy
-lauseeseen. - Lajittele kukin osio käyttämällä tätä uutta orderBy-sarakkeiden joukkoa.
- Jos tällaisia sarakkeita ei löydy ja funktio havaitsee tasatilan suorituksen aikana, palautetaan virhe.
reset
voi käyttää vain visuaalisissa laskutoimituksissa, eikä sitä voi käyttää yhdessä orderBy
tai partitionBy
kanssa. Jos käytössä on reset
, axis
voidaan määrittää, mutta relation
ei.
Esimerkki 1 – laskettu sarake
Seuraava kyselyn 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
Palauttaa taulukon, joka asettaa kukin alueen yksilöllisesti samalle EnglishCountryRegionName-arvolle StateProvinceName- ja City-arvojen mukaan.
Esimerkki 2 – visuaalinen laskutoimitus
Seuraava visuaalinen laskutoimitus DAX kyselyitä:
SalesRankWithinYear = ROWNUMBER(ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))
Luo kaksi saraketta, jotka sijoittuvat yksilöllisesti joka kuukausi kokonaismyynnin mukaan sekä kunkin vuoden sisällä että koko historian mukaan.
Alla olevassa näyttökuvassa näytetään visuaalinen matriisi ja ensimmäinen visuaalinen laskentalauseke: