INDEX
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus
Palauttaa rivin absoluuttisessa sijainnissa sijaintiparametrin määrittämänä määritetyn osion sisällä määritetyn järjestyksen mukaisesti lajiteltuna. If nykyistä osiota ei voi 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 first rivi, 2 on second rivi jne. - position on negatiivinen: -1 on last rivi, -2 on secondlast rivi jne. Kun position ei ole rajan ulkopuolella, or nolla, orBLANK(), INDEX palauttaa tyhjän taulukon. Se voi olla mikä tahansa DAX lauseke, joka palauttaa skalaarilausekkeen value. |
relation |
(Valinnainen) Taulukkolauseke, josta tulos palautetaan. määritetyn If partitionBy sarakkeiden all on tultava siitä, orrelated taulukko.
If jätetään pois: - orderBy on määritettävä eksplisiittisesti.
– All orderBy andpartitionBy lausekkeiden on oltava täydellisiä sarakkeiden nimiä, and ne ovat peräisin yksittäisestä taulukosta.
– orderBy andpartitionBy sarakkeiden allALLSELECTED() . |
axis |
(Valinnainen) Akseli visuaalisessa muodossa. Käytettävissä vain visualisoinnin laskutoimituksissa, and korvaa relation . |
orderBy |
(Valinnainen) ORDERBY()-lause, joka sisältää lausekkeet, jotka define kunkin osion lajittelutavan.
If jätetään pois: - relation on määritettävä eksplisiittisesti.
: tämä määrittää oletusarvoisesti järjestyksen relation jokaisen sarakkeen mukaan, not on jo määritetty partitionBy . |
blanks |
(Valinnainen) Luettelointi, joka määrittää, miten blankvalues käsitellään lajittelun aikana.
Tämä parametri on varattu tulevaa käyttöä varten. Tällä hetkellä ainoa tuettu value on DEFAULT , jossa numeerisen values toiminta on blankvalues järjestetään nollan and negatiivisen valuesvälillä. Merkkijonojen toiminta on blankvalues järjestetään ennen all merkkijonoja, mukaan lukien tyhjät merkkijonot. |
partitionBy |
(Valinnainen) PARTITIONBY() -lause, joka sisältää sarakkeet, jotka definerelation ositetaan.
If jätetään pois, relation käsitellään yksittäisenä osiona. |
matchBy |
(Valinnainen) MATCHBY() -lause, joka sisältää sarakkeet, jotka define tietojen vastaavuuden and tunnistaa nykyisen rivin. |
reset |
(Valinnainen) Käytettävissä vain visualisoinnin laskutoimituksissa. Ilmaisee, if laskutoimitus nollautuu and millä tasolla visualisoinnin muodon sarakehierarkiaa käytetään. Hyväksyttyjä values ovat seuraavat: NONE , LOWESTPARENT , HIGHESTPARENT , or kokonaisluku. Toiminta riippuu kokonaisluku-sign: – If nolla or pois jätettäestä, laskutoimitusta ei not nollata. Vastaa NONE .
– If positiivinen, kokonaisluku tunnistaa sarakkeen aloittaen suurimmasta, viljasta riippumatta. HIGHESTPARENT vastaa lukua 1.
– If negatiivinen, kokonaisluku tunnistaa sarakkeen aloittaen pienimmästä tasosta suhteessa nykyiseen rakeeseen. LOWESTPARENT vastaa lukua -1. |
Palauta value
Rivi absoluuttisessa sijainnissa.
Huomautuksia
Jokaisella partitionBy
andmatchBy
sarakkeella on oltava vastaava ulompi value, jotta define käytettävää "nykyistä osiota" noudattaen seuraavasti:
- If ulompia sarakkeita on tarkalleen yksi, sen value käytetään.
-
If vastaavaa ulkosaraketta ei ole:
-
INDEX
first määrittävät all
partitionBy
andmatchBy
sarakkeet, joissa ei ole vastaavaa ulompaa saraketta. - Näiden sarakkeiden jokaisen olemassa olevan values yhdistelmän INDEXpääkontekstissa INDEX arvioidaan, and rivi palautetaan.
- INDEXlopullinen tulos on näiden rivien union.
-
INDEX
first määrittävät all
- If ulompia sarakkeita on useampi kuin yksi, palautetaan error.
If
matchBy
on olemassa, INDEX yrittää käyttää matchBy
andpartitionBy
sarakkeita rivin tunnistamiseen.
If
matchBy
on not olemassa, andorderBy
andpartitionBy
määritetyt sarakkeet eivät pysty yksilöivästi tunnistamaan jokaista relation
riviä:
- INDEX yrittää find jokaisen rivin yksilöimiseen vähiten lisäsarakkeita.
-
If tällaisia sarakkeita löytyy, INDEX liittää nämä uudet sarakkeet automaattisesti
orderBy
, and kukin osio lajitellaan käyttämällä tätä uutta OrderBy-sarakkeiden joukkoa. - If tällaisia sarakkeita ei löydy, palautetaan error.
Palautetaan tyhjä taulukko if:
-
PartitionBy sarakkeen vastaava ulkoinen valuenot ole
relation
sisällä. -
position
value viittaa sijaintiin, joka ei not olla olemassa osion sisällä.
If
INDEX käytetään lasketussa sarakkeessa, joka on määritetty samassa taulukossa, jossa relation
andorderBy
jätetään pois, palautetaan error.
reset
voi käyttää vain visuaalisissa laskutoimituksissa, and ei voi käyttää yhdessä orderBy
orpartitionBy
kanssa.
If
reset
on olemassa, voidaan määrittää axis
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 contains- kullekin month:
- kokonaismyyntisumman.
- ero vastaavan yearfirstmonth .
– and kunkin quarterfirstmonth ero.
Alla olevassa näyttökuvassa näkyy visuaalinen matriisi andfirst visuaalisen laskentalausekkeen: