Jaa


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
IfpartitionBy sarakkeiden all on tultava siitä, orrelated taulukko.
If jätetään pois:
- orderBy on määritettävä eksplisiittisesti.
– AllorderByandpartitionBy lausekkeiden on oltava täydellisiä sarakkeiden nimiä, and ne ovat peräisin yksittäisestä taulukosta.
orderByandpartitionBysarakkeiden 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 partitionByandmatchBy 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 allpartitionByandmatchBy 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.
  • If ulompia sarakkeita on useampi kuin yksi, palautetaan error.

If matchBy on olemassa, INDEX yrittää käyttää matchByandpartitionBy sarakkeita rivin tunnistamiseen. If matchBy on not olemassa, andorderByandpartitionBy määritetyt sarakkeet eivät pysty yksilöivästi tunnistamaan jokaista relationriviä:

  • 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 relationsisä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 relationandorderBy jätetään pois, palautetaan error.

reset voi käyttää vain visuaalisissa laskutoimituksissa, and ei voi käyttää yhdessä orderByorpartitionBykanssa. 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:

DAX visuaalisen laskutoimituksen

OFFSET
ORDERBY
PARTITIONBY
WINDOW
RANK
ROWNUMBER