Jaa


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:

DAX-visualisoinnin laskenta

ALKU
ORDERBY
OSION SUHDE
IKKUNA
SIJOITTUA
RIVIN NUMERO