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 to toimintaa. |
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 partitionBy sarakkeiden 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 relation
sarakkeisiin, 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 relation
riviä, 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
- taipartitionBy
-sarakkeen vastaavaa ulkoarvoa ei olerelation
. - 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 partitionBy
kanssa. 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:
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.
Liittyvä sisältö
INDEKSI
MOVINGAVERAGE
ALKU
ORDERBY
OSION SUHDE
ETÄISYYS
SIJOITTUA
RIVINNUMEROJUOKSEVA SUMMA