INDEKSI
Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus
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ä |
---|---|
asema | Absoluuttinen sijainti (1-pohjainen), josta tiedot hankitaan: - <sijainti> on positiivinen: 1 on ensimmäinen rivi, 2 on toinen rivi jne. - <sijainti> on negatiivinen: -1 on viimeinen rivi, -2 on toinen viimeinen rivi jne. Kun <sijainti> on reunan ulkopuolella, tai nolla tai BLANK(), INDEX palauttaa tyhjän taulukon. Se voi olla mikä tahansa DAX-lauseke, joka palauttaa skalaariarvon. |
suhde | (Valinnainen) Taulukkolauseke, josta tulos palautetaan. Jos tämä on määritetty, kaikkien partitionBy-sarakkeiden <> on oltava peräisin siitä tai liittyvästä taulukosta. Jos tämä 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. - Oletusarvona on ALLSELECTED() kaikista sarakkeista <järjestyksessä Ja> <partitionBy>. |
akseli | (Valinnainen) Akseli visuaalisessa muodossa. Käytettävissä vain visualisoinnin laskutoimituksissa, ja korvaa <suhteen>. |
orderBy | (Valinnainen) ORDERBY()-lause, joka sisältää lausekkeet, jotka määrittävät kunkin osion lajittelutavan. Jos tämä jätetään pois: – <suhde> on määritettävä eksplisiittisesti. – Oletusarvoisesti järjestys tehdään suhteen> jokaisen sarakkeen <mukaan>, mitä ei ole vielä määritetty osioperusteessa<. |
Aihiot | (Valinnainen) Luettelointi, joka määrittää, miten tyhjiä arvoja käsitellään lajittelun aikana. Tämä parametri on varattu tulevaa käyttöä varten. Tällä hetkellä ainoa tuettu arvo on DEFAULT, jossa numeeristen arvojen toiminta on tyhjä. Arvot 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. |
partitionBy | (Valinnainen) PARTITIONBY()-lause, joka sisältää sarakkeet, jotka määrittävät, miten <suhde> ositetaan. Jos tämä jätetään pois, <suhdetta> käsitellään yksittäisenä osiona. |
matchBy | (Valinnainen) MATCHBY()-lause, joka sisältää sarakkeet, jotka määrittävät, miten tiedot vastaavat ja tunnistavat nykyisen rivin. |
nollata | (Valinnainen) Käytettävissä vain visualisoinnin laskutoimituksissa. Ilmaisee, nollataanko laskutoimitus ja millä tasolla visualisoinnin muodon sarakehierarkia on. Hyväksytyt arvot ovat: NONE, LOWESTPARENT, HIGHESTPARENT tai kokonaisluku. Toiminta riippuu kokonaislukumerkistä: – Jos nolla tai jätetään pois, laskelmaa ei nollata. Vastaa NONE-funktiota. - Jos se on positiivinen, kokonaisluku tunnistaa sarakkeen aloittaen suurimmasta, viljasta riippumatta. HIGHESTPARENT vastaa lukua 1. - Jos se on negatiivinen, kokonaisluku tunnistaa sarakkeen pienimmästä tasosta suhteessa nykyiseen rakeeseen. LOWESTPARENT vastaa lukua -1. |
Palautusarvo
Rivi absoluuttisessa sijainnissa.
Huomautukset
Jokaisella <partitionBy> - ja <matchBy-sarakkeella> on oltava vastaava ulompi arvo, joka auttaa määrittämään nykyisen osion, jossa toiminto suoritetaan:
- Jos ulompaa saraketta on täsmälleen yksi vastaava, käytetään sen arvoa.
- Jos vastaavaa ulkosaraketta ei ole:
- INDEX määrittää ensin kaikki <osiotYksikö> - ja <matchBy-sarakkeet> , joilla ei ole vastaavaa ulkosaraketta.
- Indexin pääkontekstin näiden sarakkeiden jokaisen olemassa olevien arvojen yhdistelmän kohdalla INDEX arvioidaan ja palautetaan rivi.
- INDEX-indeksin lopullinen tulos on näiden rivien liitto.
- Jos vastaavia ulkosarakkeita on useampi kuin yksi, palautetaan virhe.
Jos <matchBy> on olemassa, INDEX yrittää käyttää <matchBy> - ja <partitionBy-sarakkeita> rivin tunnistamiseen.
Jos <matchBy-funktiota> ei ole eikä orderBy>- ja <partitionBy-funktioissa <<> määritettyjä sarakkeita voida yksilöidä suhteen> jokaista riviä:
- INDEX yrittää löytää vähiten lisäsarakkeita, joita jokaisen rivin yksilöiminen edellyttää.
- Jos tällaisia sarakkeita löytyy, INDEX liittää nämä uudet sarakkeet automaattisesti orderBy-arvon> mukaiseksi <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 suhteen> sisällä<.
- Sijainti-arvo <> viittaa sijaintiin, jota ei ole osion sisällä.
Jos INDEX-funktiota käytetään lasketussa sarakkeessa, joka on määritetty samassa taulukossa suhteen> kanssa <ja <orderBy> jätetään pois, palautetaan virhe.
<reset> voidaan käyttää vain visuaalisissa laskutoimituksissa, eikä sitä voi käyttää yhdessä orderBy>- tai <partitionBy-arvon> kanssa<. Jos <nollaus> on olemassa, akseli> voidaan määrittää, <mutta <yhteyttä> ei voi.
Esimerkki 1 – laskettu sarake
Seuraava DAX-kysely:
EVALUATE INDEX(1, ALL(DimDate[CalendarYear]))
Palauttaa seuraavan taulukon:
DimDate[CalendarYear] |
---|
2005 |
Esimerkki 2 – laskettu sarake
Seuraava DAX-kysely:
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
Seuraavat visuaalisen laskutoimituksen DAX-kyselyt:
SalesComparedToBeginningOfYear = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, ROWS, HIGHESTPARENT))
SalesComparedToBeginningOfQuarter = [SalesAmount] - CALCULATE(SUM([SalesAmount]), INDEX(1, , -1))
Paranna taulukkoa siten, että se sisältää kunkin kuukauden
osalta kokonaismyyntimäärän
, ero vastaavan vuoden
ensimmäiseen kuukauteen ja ero vastaavan vuosineljänneksen ensimmäiseen kuukauteen.
Alla olevassa näyttökuvassa näytetään visuaalinen matriisi ja ensimmäinen visuaalinen laskentalauseke: