Jaa


IKKUNA

Koskee: Lasketun sarakkeen lasketun taulukon mittarinvisuaalinen 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ä ikkuna alkaa. Se voi olla mikä tahansa DAX-lauseke, joka palauttaa skalaariarvon.
Toiminta riippuu from_type-parametrista:
– Jos from_type on REL, taaksepäin (negatiivinen arvo) tai eteenpäin (positiivinen arvo) palautettavien rivien määrä nykyiseltä riviltä ikkunan ensimmäisen rivin saamiseksi.
– Jos from_type on ABS ja from on positiivinen, se on ikkunan alun sijainti osion alusta. Indeksointi on 1-pohjainen. Esimerkiksi 1 tarkoittaa, että ikkuna alkaa osion alusta. Jos from on negatiivinen, se on ikkunan alun sijainti osion lopusta. -1 tarkoittaa osion viimeistä riviä.
from_type Muokkaa from-parametrin toimintaa. Mahdolliset arvot ovat ABS (absoluuttinen) ja REL (suhteellinen). Oletusarvo on REL.
to Sama kuin from, mutta ilmaisee ikkunan lopun. Viimeinen rivi sisältyy ikkunaan.
to_type Sama kuin from_type, mutta muokkaa totoimintaa.
relation (Valinnainen) Taulukkolauseke, josta tulosrivit palautetaan.
Jos on määritetty, kaikkien partitionBy sarakkeiden on oltava peräisin siitä tai liittyvästä taulukosta.
Jos 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.
orderBy ja partitionBysarakkeiden oletusarvo on ALLSELECTED().
axis (Valinnainen) Akseli visuaalisessa muodossa. Käytettävissä vain visuaalisissa laskutoimituksissa, ja se korvaa relation.
orderBy (Valinnainen) ORDERBY()-lause, joka sisältää lausekkeet, jotka määrittävät kunkin osion lajittelutavan.
Jos jätetään pois:
- relation on määritettävä eksplisiittisesti.
: tämä määrittää oletusarvoisesti järjestyksen relation jokaisen sarakkeen mukaan, mitä ei ole vielä määritetty partitionBy.
blanks (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 relation ositetaan. Jos tämä jätetään pois, relation 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.
reset (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

Kaikki rivit ikkunasta.

Huomautukset

DAX-taulukkofunktioiden lisäämiä sarakkeita lukuun ottamatta jokaisella sarakkeella relation, kun matchBy ei ole, tai kullakin sarakkeella matchBy ja partitionBy, kun matchBy on olemassa, on oltava vastaava ulompi arvo, joka auttaa määrittämään nykyisen rivin, jota käytetään. Jos molemmilla from_type ja to_type on arvo ABS, seuraava koskee vain partitionBy sarakkeita:

  • Jos ulompaa saraketta on täsmälleen yksi vastaava, käytetään sen arvoa.
  • Jos vastaavaa ulkosaraketta ei ole:
    • WINDOW määrittää ensin kaikki sarakkeet, joilla ei ole vastaavaa ulompaa saraketta.
    • WINDOW-pääkontekstin näiden sarakkeiden jokaisen olemassa olevien arvojen yhdistelmän kohdalla WINDOW arvioidaan, ja vastaavat rivit palautetaan.
    • WINDOW:n lopullinen tulos on näiden rivien liitto.
  • Jos vastaavia ulkosarakkeita on useampi kuin yksi, palautetaan virhe.

Jos DAX-taulukkofunktiot lisäävät kaikki relationsarakkeisiin, palautetaan virhe.

Jos käytössä on matchBy, WINDOW yrittää käyttää matchBy ja partitionBy sarakkeita rivin tunnistamiseen.
Jos matchBy ei ole ja orderBy ja partitionBy määritetyt sarakkeet eivät pysty yksilöivästi tunnistamaan jokaista relationriviä, niin:

  • WINDOW yrittää löytää vähiten lisäsarakkeita, joita jokaisen rivin yksilöiminen edellyttää.
  • Jos tällaisia sarakkeita löytyy, WINDOW liittää nämä uudet sarakkeet automaattisesti orderBy, 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:

  • orderBy- tai partitionBy-sarakkeen vastaavaa ulkoarvoa ei ole relation.
  • Koko ikkuna on osion ulkopuolella, tai ikkunan alku on sen päättymisen jälkeen.

Jos WINDOW-funktiota käytetään lasketussa sarakkeessa, joka on määritetty samassa taulukossa kuin relation, ja orderBy jätetään pois, palautetaan virhe.

Jos ikkunan alku on ennen ensimmäistä riviä, se asetetaan ensimmäiselle riville. Vastaavasti, jos ikkunan loppu on osion viimeisen rivin jälkeen, se on määritetty viimeiselle riville.

reset voi käyttää vain visuaalisissa laskutoimituksissa, eikä sitä voi käyttää yhdessä orderBy tai partitionBykanssa. Jos käytössä on reset, axis voidaan määrittää, mutta relation ei.

Esimerkki 1 – mittari

Seuraava mittari:

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 kunkin tuotteen yksikköhintojen kolmen päivän keskiarvon. Huomaa, että kolmen päivän aikaikkuna koostuu kolmesta päivästä, jolloin tuotteella on myynti, ei välttämättä kolmena peräkkäisenä kalenteripäivänä.

Esimerkki 2 – mittari

Seuraava mittari:

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

Palauttaa kokonaismyynnin juoksevan summan vuoden kuukauden määrän mukaan. Tämä käynnistetään uudelleen jokaiselle tilivuodelle:

Vuosi Vuoden kuukauden numero Myynnin määrä Juokseva summa
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 kuukauden mukaan laskettuna vuosittain. Arvoja 1 ja -2 voidaan käyttää HIGHESTPARENT-arvon sijaan samoilla tuloksilla.

Alla olevassa näyttökuvassa näytetään visuaalinen matriisi ja visuaalinen laskentalauseke:

DAX-visualisoinnin laskenta

Esimerkki 4 – visuaalinen laskutoimitus

Seuraava visuaalisen laskutoimituksen DAX-kysely:

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

Palauttaa kumulatiivisen kokonaismyynnin kuukauden mukaan laskettuna joka vuosineljänneksen mukaan.

INDEKSI
MOVINGAVERAGE
ALKU
ORDERBY
OSION SUHDE
ETÄISYYS
SIJOITTUA
RIVINNUMEROJUOKSEVA SUMMA