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 partitionBy sarakkeiden 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:
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
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
- jamatchBy
-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.
-
INDEX määrittää ensin kaikki
- 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 relation
riviä:
- 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 partitionBy
kanssa. 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: