Lue englanniksi

Jaa


WINDOW

Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus

Palauttaa useita rivejä, jotka on sijoitettu määritetyn välin sisälle.

Syntaksi

WINDOW ( from[, from_type], to[, to_type][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Parametrit

Termi Määritelmä
from Ilmaisee, mistä window alkaa. Se voi olla mikä tahansa DAX lauseke, joka palauttaa skalaarilausekkeen value.
Toiminta riippuu from_type-parametrista:
– Iffrom_type on REL, palautettavien rivien määrä (negatiivinen value) or eteenpäin (positiivinen value) nykyisestä rivistä, jotta first rivi saadaan window.
– Iffrom_type on ABS, andfrom on positiivinen, sitten se on window alun sijainti osion alusta. Indeksointi on 1-pohjainen. Esimerkiksi 1 tarkoittaa, että window alkaa osion alusta. If from on negatiivinen, se on window alun sijainti osion lopusta. -1 tarkoittaa osion last riviä.
from_type Muokkaa from-parametrin toimintaa. Mahdollisia values ovat RELandABS (absoluuttinen) ABS (suhteellinen). Oletusarvo on REL.
to Sama kuin from, mutta ilmaisee windowlopun. last rivi sisältyy window.
to_type Sama kuin from_type, mutta muokkaa totoimintaa.
relation (Valinnainen) Taulukkolauseke, josta tulosrivit 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.
: all sarakkeiden oletusarvo on ALLSELECTED() orderByandpartitionBy.
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 ositusta. 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

All rivit window.

Huomautukset

Except sarakkeille, jotka on lisätty DAX -taulukkofunktioilla, joista jokainen sarake on relation, kun matchBy on not, or kutakin saraketta matchByandpartitionBy, kun matchBy on olemassa, on oltava vastaava ulkoinen value, joka auttaa nykyisen rivin define käytössä olevan rivin. If from_type and to_type kummallakin on valueABS, seuraava koskee vain partitionBy sarakkeita:

  • If ulompia sarakkeita on tarkalleen yksi, sen value käytetään.
  • If vastaavaa ulkosaraketta ei ole:
    • WINDOW määrittää firstall sarakkeet, joissa ei ole vastaavaa ulompaa saraketta.
    • WINDOWpääkontekstin näiden sarakkeiden jokaisen olemassa olevan values yhdistelmän WINDOW arvioidaan, and vastaavat rivit palautetaan.
    • WINDOW lopullinen tulos on näiden rivien union.
  • If ulompia sarakkeita on useampi kuin yksi, palautetaan error.

DAX taulukkofunktiot lisäsivät relationsarakkeiden Ifall, palautetaan error.

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

  • WINDOW yrittää find jokaisen rivin yksilöimiseen vähiten lisäsarakkeita.
  • If tällaisia sarakkeita löytyy, WINDOW 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:

  • orderBy or partitionBy-sarakkeen vastaava ulko-valuenot ole relationsisällä.
  • Koko window on osion ulkopuolella, orwindow alku on sen päättymisen jälkeen.

If WINDOW käytetään lasketussa sarakkeessa, joka on määritetty samassa taulukossa, jossa relation, andorderBy jätetään pois, palautetaan error.

If window alku on ennen first riviä, sen jälkeen se määritetään first riville. Vastaavasti ifwindow loppuosa on osion last rivin jälkeen, ja sen jälkeen se on määritetty last riville.

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 – measure

Seuraava measure:

3-day Average Price = 
AVERAGEX(
    WINDOW(
        -2,REL,0,REL,
        SUMMARIZE(ALLSELECTED('Sales'), 'Date'[Date], 'Product'[Product]),
        ORDERBY('Date'[Date]),
        KEEP,
        PARTITIONBY('Product'[Product])
    ), 
    CALCULATE(AVERAGE(Sales[Unit Price]))
)

Palauttaa yksikköhintojen kolmendayaverage kullekin product. Huomaa, että 3-daywindow koostuu kolmesta päivästä, jolloin product on myynti, not välttämättä kolme peräkkäistä calendar päivää.

Esimerkki 2 – measure

Seuraava measure:

RunningSum =
SUMX (
    WINDOW (
        1, ABS, 0, REL,
        ALLSELECTED (
            'Date'[Fiscal Year],
            'Date'[Month Number Of Year]
        ),
        PARTITIONBY ( 'Date'[Fiscal Year] )
    ),
    [Total Sales]
)

Palauttaa juoksevan sum kokonaismyymälölle MonthYearmäärän mukaan. Se käynnistetään uudelleen jokaiselle tilikauden Year:

Year Month Year määrä Myynnin määrä RunningSum
TV2018 1 1 327 675 dollaria 1 327 675 dollaria
TV2018 2 3 936 463 $ 5 264 138 dollaria
TV2018 3 700 873 dollaria 5 965 011 dollaria
TV2018 4 1 519 275 dollaria 7 484 286 dollaria
TV2018 5 2 960 378 dollaria 10 444 664 dollaria
TV2018 6 1 487 671 dollaria 11 932 336 $
TV2018 7 1 423 357 dollaria 13 355 693 dollaria
TV2018 8 2 057 902 dollaria 15 413 595 dollaria
TV2018 9 2 523 948 dollaria 17 937 543 dollaria
TV2018 10 561 681 $ 18 499 224 $
TV2018 11 4 764 920 dollaria 23 264 145 dollaria
TV2018 12 596 747 dollaria 23 860 891 dollaria
TV2019 1 1 847 692 $ 1 847 692 $
TV2019 2 2 829 362 $ 4 677 054 dollaria
TV2019 3 2 092 434 dollaria 6 769 488 dollaria
TV2019 4 2 405 971 dollaria 9 175 459 dollaria
TV2019 5 3 459 444 dollaria 12 634 903 dollaria
TV2019 6 2 850 649 dollaria 15 485 552 dollaria
TV2019 7 2 939 691 $ 18 425 243 dollaria
TV2019 8 3 964 801 dollaria 22 390 045 dollaria
TV2019 9 3 287 606 dollaria 25 677 650 dollaria
TV2019 10 2 157 287 dollaria 27 834 938 dollaria
TV2019 11 3 611 092 dollaria 31 446 030 dollaria
TV2019 12 2 624 078 dollaria 34 070 109 dollaria
TV2020 1 3 235 187 dollaria 3 235 187 dollaria
TV2020 2 4 070 046 dollaria 7 305 233 dollaria
TV2020 3 4 429 833 dollaria 11 735 066 dollaria
TV2020 4 4 002 614 dollaria 15 737 680 dollaria
TV2020 5 5 265 797 $ 21 003 477 dollaria
TV2020 6 3 465 241 dollaria 24 468 717 dollaria
TV2020 7 3 513 064 dollaria 27 981 781 dollaria
TV2020 8 5 247 165 dollaria 33 228 947 dollaria
TV2020 9 5 104 088 dollaria 38 333 035 dollaria
TV2020 10 3 542 150 dollaria 41 875 184 dollaria
TV2020 11 5 151 897 dollaria 47 027 081 dollaria
TV2020 12 4 851 194 dollaria 51 878 275 dollaria

Esimerkki 3 – visuaalinen laskutoimitus

Seuraava visuaalisen laskutoimituksen DAX kysely:

TotalSalesRunningSumByYear = SUMX(WINDOW(0, ABS, 0, REL, ROWS, HIGHESTPARENT), [SalesAmount])

Palauttaa kumulatiivisen kokonaismyynnin monthmukaan laskettuna kullekin year. values 1 and -2 voidaan käyttää HIGHESTPARENTsijaan samoilla tuloksilla.

Alla olevassa näyttökuvassa näkyy visuaalisen matriisin and visuaalinen laskentalauseke:

DAX visuaalisen laskutoimituksen

Esimerkki 4 – visuaalinen laskutoimitus

Seuraava visuaalisen laskutoimituksen DAX kysely:

TotalSalesRunningSumByQuarter = SUMX(WINDOW(0, ABS, 0, REL, , -1), [SalesAmount])

Palauttaa kumulatiivisen kokonaismyynnin monthmukaan laskettuna kullekin quarter.

INDEX
MOVINGAVERAGE
OFFSET
ORDERBY
PARTITIONBY
RANGE
RANK
ROWNUMBER RUNNINGSUM