Jaa


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 partitionBysarakkeista 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:
  • DEFAULT (oletusarvo), jossa numeeristen arvojen toiminta on tyhjä, järjestetään nollan ja negatiivisen arvon välillä. Merkkijonojen toimintatapa on se, että tyhjät arvot järjestetään ennen kaikkia merkkijonoja, myös tyhjiä merkkijonoja.
  • FIRST, tyhjät tilat järjestetään aina alussa nousevasta tai laskevasta lajittelujärjestyksestä riippumatta.
  • LAST, tyhjät tilat järjestetään aina loppuun riippumatta nousevasta tai laskevasta lajittelujärjestyksestä.

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, HIGHESTPARENTtai 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- 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:
      • RANK määrittää ensin kaikki orderBy, partitionByja matchBy 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.
  • Jos matchBy on olemassa, RANK yrittää käyttää sarakkeita matchBy ja partitionBy nykyisen rivin tunnistaakseen senhetkisen rivin.

  • Jos orderBy määritettyjä sarakkeita ei partitionBy voi yksilöidä jokaista relationriviä, 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 tai partitionBykanssa. Jos käytössä on reset, axis voidaan määrittää, mutta relation 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:

DAX visuaalisen laskutoimituksen

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER