RANK
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMittayksikköVisuaalinen laskenta -
Palauttaa nykyisen kontekstin sijoituksen määritetyssä osiossa lajiteltuna määritetyn järjestyksen mukaan. Jos vastaavuutta ei löydy, sijoitus on tyhjä.
Syntaksi
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametrit
Termi | Määritelmä |
---|---|
ties |
(Valinnainen) Määrittää, miten sijoitusta käsitellään, kun vähintään kaksi riviä on tasatilanteessa.
Jos määritetty, tuettu arvo on joko DENSE tai SKIP. Jos jätetään pois: – oletusarvo on SKIP |
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 sijoitusnumero.
Huomautuksia
Jokaisella
orderBy
,partitionBy
- jamatchBy
-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:
-
RANK määrittää ensin kaikki
orderBy
,partitionBy
jamatchBy
sarakkeet, joissa ei ole vastaavaa ulkosaraketta. - RANK pääkontekstin näiden sarakkeiden jokaisen olemassa olevien arvojen yhdistelmän RANK arvioidaan ja palautetaan rivi.
- RANKlopullinen tulos on sijoitusnumero.
-
RANK määrittää ensin kaikki
Jos
matchBy
on olemassa, RANK yrittää käyttää sarakkeitamatchBy
japartitionBy
nykyisen rivin tunnistaakseen senhetkisen rivin.Jos
orderBy
määritettyjä sarakkeita eipartitionBy
voi yksilöidä jokaistarelation
riviä, kahdella tai useammalla rivillä voi olla sama sijoitus ja sijoitus määritetään ties-parametrilla.RANK palauttaa rivien kokonaismäärälle tyhjän arvon. On suositeltavaa, että testaat lausekkeen perusteellisesti.
RANK ei vertaile RANKX: SUM verrataan SUMX.
reset
voi käyttää vain visuaalisissa laskutoimituksissa, eikä sitä voi käyttää yhdessäorderBy
taipartitionBy
kanssa. Jos käytössä onreset
,axis
voidaan määrittää, muttarelation
ei.
Esimerkki 1 – laskettu sarake
Seuraava kyselyn DAX:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"Rank",
RANK(
DENSE,
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
LAST,
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Palauttaa taulukon, joka asettaa kunkin maantieteellisen alueen samalle EnglishCountryRegionName-arvolle StateProvinceName- ja City-arvojen mukaan. Tyhjät orderBy
sarakkeen arvot lajitellaan loppuun.
Esimerkki 2 – visuaalinen laskutoimitus
Seuraava visuaalinen laskutoimitus DAX kyselyitä:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Luo kaksi saraketta, jotka sijoittuvat kuukausittain 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: