Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Koskee seuraavia:
Laskettu sarake
Laskettu taulukko
Mitta
Visualisoinnin laskenta
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 ABSja from on positiivinen, se on ikkunan alun sijainti osion alusta. Indeksointi on 1-pohjainen, ja 0 tulkitaan 1:ksi. Esimerkiksi 0 ja 1 tarkoittavat, 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. Mahdollisia arvoja 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 tätä parametria käytetään visualisoinnin laskutoimituksissa, se hyväksyy akselin visuaalisessa muodossa.
Jos on määritetty, kaikkien partitionBy sarakkeiden on oltava peräisin siitä tai liittyvästä taulukosta.
Jos tämä jätetään pois: – Sinun on määritettävä se eksplisiittisesti orderBy .- Kaikkien orderBy lausekkeiden ja partitionBy lausekkeiden on oltava täydellisiä sarakkeiden nimiä ja ne on oltava peräisin yksittäisestä taulukosta.
: ALLSELECTED ja orderBysarakkeista partitionBy(). |
orderBy |
(Valinnainen) ORDERBY()-lause, joka sisältää lausekkeet, jotka määrittävät kunkin osion lajittelutavan.
Jos tämä jätetään pois: – Sinun on määritettävä se eksplisiittisesti relation .
- Oletusarvoisesti järjestäminen kohteen jokaisen sarakkeen relation mukaan, jota ei ole vielä määritetty kohteessa partitionBy. |
blanks |
(Valinnainen) Luettelointi, joka määrittää, miten tyhjiä arvoja käsitellään lajitellaan relation tai axis.
Tuetut arvot ovat seuraavat:
Kun määrität sekä parametrin blanks että tyhjät arvot ()-funktiossa yksittäisille lausekkeille, yksittäisessä orderBy-lausekkeessaORDERBY priorisointina on asianmukainen orderBy-lauseke. blanks OrderBy-lausekkeet, joita ei blanks ole määritetty, seuraavat noudattaa pääfunktion blanks parametria. |
partitionBy |
(Valinnainen) A PARTITIONBY() -lause, joka sisältää sarakkeet, jotka määrittävät, miten relation osioidaan. Jos tämä jätetään pois, relation käsitellään yksittäisenä osiona. |
matchBy |
(Valinnainen) A 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äksyttyjä arvoja ovat: kenttäviittaus sarakkeeseen nykyisessä visualisoinnin muodossa, NONE (oletus), LOWESTPARENT, HIGHESTPARENTtai kokonaisluku. Toiminta riippuu kokonaislukumerkistä: – Jos nolla tai jätetään pois, laskutoimitusta ei nollata. Vastaa NONE.
– Jos se on positiivinen, kokonaisluku tunnistaa sarakkeen aloittaen suurimmasta, viljasta riippumatta. HIGHESTPARENT vastaa lukua 1.
– Jos se on negatiivinen, kokonaisluku tunnistaa sarakkeen aloittaen pienimmästä tasosta suhteessa nykyiseen rakeeseen. LOWESTPARENT vastaa lukua -1. |
Palautusarvo
Kaikki rivit ikkunasta.
Huomautukset
Taulukkofunktioiden lisäämiä DAX sarakkeita lukuun ottamatta jokaisella sarakkeella relation (kun matchBy ei ole olemassa) tai kullakin sarakkeella matchBy ja partitionBy (kun matchBy on olemassa) on oltava vastaava ulkoinen arvo, joka auttaa määrittämään nykyisen rivin, jolla toiminto suoritetaan. Jos from_type ja to_type kummallakin on arvo ABS, seuraavat koskevat vain partitionBy sarakkeita:
- Jos täsmälleen yksi vastaava ulkosarake on olemassa, sen arvoa käytetään.
- Jos vastaavaa ulkosaraketta ei ole olemassa:
- WINDOW määrittää ensin kaikki sarakkeet, joilla ei ole vastaavaa ulompaa saraketta.
- Näiden sarakkeiden WINDOWjokaisen olemassa olevien arvojen yhdistelmän pääkonteksti WINDOW arvioidaan, ja vastaavat rivit palautetaan.
- WINDOW:n lopullinen tulos on näiden rivien liitto.
- Jos useampi kuin yksi vastaava ulkosarake on olemassa, palautetaan virhe.
Jos relation-taulukkofunktiot lisäävät kaikki DAX-sarakkeista, saat virheilmoituksen.
Jos matchBy on olemassa, WINDOW yritä tunnistaa rivi käyttämällä matchBy - ja partitionBy -sarakkeita.
Jos matchBy ei ole olemassa ja -kohteen sisällä orderBypartitionBy määritetyt sarakkeet eivät voi yksilöidä jokaista riviä kohteessa relation:
- WINDOW yrittää löytää pienintä määrää lisäsarakkeita, joita jokaisen rivin yksilöllinen tunnistaminen edellyttää.
- Jos tällaisia sarakkeita löytyy, WINDOW nämä uudet sarakkeet liitetään automaattisesti arvoon
orderBy, ja kukin osio lajitellaan käyttämällä tätä uutta orderBy-sarakkeiden joukkoa. - Jos tällaisia sarakkeita ei löydy, saat virheilmoituksen.
Palautetaan tyhjä taulukko, jos:
- :n tai -sarakkeen
orderByvastaavaa ulkoarvoa ei ole olemassa -kohteen sisällärelation.partitionBy - Koko ikkuna on osion ulkopuolella, tai ikkunan alku on sen jälkeen.
Jos käytät -funktiota WINDOW 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.
Voit käyttää sitä reset vain visualisoinnin laskutoimituksissa, etkä voi käyttää sitä yhdessä :n kanssa orderBy tai partitionBy. Jos reset on olemassa, voit määrittää axis kohteen, mutta et relation.
Jos -arvo reset on absoluuttinen (positiivinen kokonaisluku tai HIGHESTPARENTkenttäviittaus) ja laskutoimitus arvioidaan hierarkian tavoitetasolla tai sen yläpuolella, laskelma nollautuu kunkin yksittäisen elementin kohdalla. Eli funktio arvioidaan osiossa, joka sisältää vain kyseisen tietyn elementin.
Tämän artikkelin esimerkkejä voidaan käyttää Adventure Works DW 2020 Power BI Desktop -mallissa. Jos haluat hakea mallin, katso DAX esimerkkimallin.
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. Kolmen päivän aikaikkuna muodostuu kolmesta päivästä, jolloin tuotteella oli 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. Arvoa 1 voidaan käyttää kohteen sijaan HIGHESTPARENTsamalla tuloksella.
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.
Arvoa LOWESTPARENT voidaan käyttää arvon -1 sijaan samalla tuloksella.