Jaa


INDEX

Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMittayksikköVisuaalinen laskenta -

Palauttaa rivin absoluuttisessa sijainnissa sijaintiparametrin määrittämänä määritetyn osion sisällä määritetyn järjestyksen mukaisesti lajiteltuna. Jos nykyistä osiota ei voida päätellä yksittäiseksi osioksi, saatetaan palauttaa useita rivejä.

Syntaksi

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

Parametrit

Termi Määritelmä
position Absoluuttinen sijainti (1-pohjainen), josta tiedot hankitaan:
- position on positiivinen: 1 on ensimmäinen rivi, 2 on toinen rivi jne.
- position on negatiivinen: -1 on viimeinen rivi, -2 on toinen viimeinen rivi jne.
Kun position ei ole reunassa, tai nolla tai BLANK(), INDEX palauttaa tyhjän taulukon. Se voi olla mikä tahansa DAX lauseke, joka palauttaa skalaariarvon.
relation (Valinnainen) Taulukkolauseke, josta tulos palautetaan.
Jos tämä on määritetty, kaikkien partitionBy sarakkeiden on oltava peräisin siitä tai liittyvästä taulukosta.
Jos jätetään pois:
- orderBy on määritettävä eksplisiittisesti.
– Kaikkien orderBy- ja partitionBy-lausekkeiden on oltava sarakkeiden täydelliset nimet, ja niiden on oltava peräisin yksittäisestä taulukosta.
orderBy ja partitionBysarakkeiden oletusasetuksena on ALLSELECTED().
axis (Valinnainen) Akseli visuaalisessa muodossa. Käytettävissä vain visuaalisissa laskutoimituksissa, ja se korvaa relation.
orderBy (Valinnainen) ORDERBY()-lause, joka sisältää lausekkeet, 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

Rivi absoluuttisessa sijainnissa.

Huomautuksia

Jokaisella partitionBy ja matchBy sarakkeella on oltava vastaava ulkoarvo, jotta voidaan määrittää toimintatapa "nykyinen osio":

  • Jos ulompaa saraketta on täsmälleen yksi vastaava, käytetään sen arvoa.
  • Jos vastaavaa ulkosaraketta ei ole:
    • INDEX määrittää ensin kaikki partitionBy- ja matchBy-sarakkeet, joissa ei ole vastaavaa ulkosaraketta.
    • INDEXpääkontekstin näiden sarakkeiden jokaisen olemassa olevien arvojen yhdistelmän INDEX arvioidaan ja palautetaan rivi.
    • INDEXlopullinen tulos on näiden rivien liitto.
  • Jos vastaavia ulkosarakkeita on useampi kuin yksi, palautetaan virhe.

Jos käytössä on matchBy, INDEX yrittää käyttää matchBy ja partitionBy sarakkeita rivin tunnistamiseen. Jos matchBy ei ole eikä orderBy ja partitionBy määritettyjä sarakkeita voida yksilöidä jokaista relationriviä:

  • INDEX pyrkii selvittämään, kuinka monta lisäsaraketta jokaisen rivin yksilöimiseen tarvitaan.
  • Jos tällaisia sarakkeita löytyy, INDEX liittää nämä uudet sarakkeet automaattisesti orderBy, ja kukin osio lajitellaan käyttämällä tätä uutta OrderBy-sarakkeiden joukkoa.
  • Jos tällaisia sarakkeita ei löydy, palautetaan virhe.

Palautetaan tyhjä taulukko, jos:

  • PartitionBy-sarakkeen vastaavaa ulkoarvoa ei ole relation.
  • position arvo viittaa sijaintiin, jota ei ole osion sisällä.

Jos INDEX käytetään lasketussa sarakkeessa, joka on määritetty samassa taulukossa, johon relation ja orderBy jätetään pois, palautetaan virhe.

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 INDEX(1, ALL(DimDate[CalendarYear]))

Palauttaa seuraavan taulukon:

DimDate[CalendarYear]
2005

Esimerkki 2 – laskettu sarake

Seuraava kyselyn DAX:

EVALUATE
SUMMARIZECOLUMNS (
    FactInternetSales[ProductKey],
    DimDate[MonthNumberOfYear],
    FILTER (
            VALUES(FactInternetSales[ProductKey]),
            [ProductKey] < 222
    ),
    "CurrentSales", SUM(FactInternetSales[SalesAmount]),
    "LastMonthSales",
    CALCULATE (
        SUM(FactInternetSales[SalesAmount]),
        INDEX(-1, ORDERBY(DimDate[MonthNumberOfYear]))
    )
)
ORDER BY [ProductKey], [MonthNumberOfYear]

Palauttaa seuraavan taulukon:

FactInternetSales[ProductKey] DimDate[MonthNumberOfYear] [CurrentSales] [LastMonthSales]
214 1 5423.45 8047.7
214 2 4968.58 8047.7
214 3 5598.4 8047.7
214 4 5073.55 8047.7
214 5 5248.5 8047.7
214 6 7487.86 8047.7
214 7 7382.89 8047.7
214 8 6543.13 8047.7
214 9 6788.06 8047.7
214 10 6858.04 8047.7
214 11 8607.54 8047.7
214 12 8047.7 8047.7
217 1 5353.47 7767.78
217 2 4268.78 7767.78
217 3 5773.35 7767.78
217 4 5738.36 7767.78
217 5 6158.24 7767.78
217 6 6998 7767.78
217 7 5563.41 7767.78
217 8 5913.31 7767.78
217 9 5913.31 7767.78
217 10 6823.05 7767.78
217 11 6683.09 7767.78
217 12 7767.78 7767.78

Esimerkki 3 – visuaalinen laskutoimitus

Seuraava visuaalinen laskutoimitus DAX kyselyitä:

SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))

SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))

Paranna taulukkoa siten, että se sisältää kullekin kuukaudelle:
- kokonaismyyntisumman,
: kokonaismyynnin määrän.
- ero kyseisen vuoden ensimmäiseen kuukauteen;
- ja ero kyseisen vuosineljänneksen ensimmäiseen kuukauteen.

Alla olevassa näyttökuvassa näytetään visuaalinen matriisi ja ensimmäinen visuaalinen laskentalauseke:

DAX visuaalisen laskutoimituksen

OFFSET ORDERBY PARTITIONBY WINDOW RANK ROWNUMBER