WINDOW
gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning
Returnerer flere rader som er plassert innenfor det angitte intervallet.
Syntaks
WINDOW ( from[, from_type], to[, to_type][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Parametere
Term | Definisjon |
---|---|
from |
Angir hvor window starter. Det kan være et hvilket som helst DAX uttrykk som returnerer en skalar value.
Virkemåten avhenger av from_type -parameteren: - If from_type er REL, antall rader som skal gå tilbake (negative value) or fremover (positive value) fra gjeldende rad for å få first rad i window.
- If from_type er ABS, andfrom er positiv, så er det plasseringen av starten på window fra begynnelsen av partisjonen. Indeksering er 1-basert. 1 betyr for eksempel at window starter fra begynnelsen av partisjonen.
If
from er negativ, er det posisjonen til starten av window fra slutten av partisjonen. -1 betyr last rad i partisjonen. |
from_type |
Endrer virkemåten til from -parameteren. Mulige values er ABS (absolutt) and REL (relativ). Standard er REL. |
to |
Samme som from , men angir slutten av window. Den last raden er inkludert i window. |
to_type |
Samme som from_type , men endrer virkemåten til to . |
relation |
(Valgfritt) Et tabelluttrykk som utdataradene returneres fra.
If angitt, må all kolonner i partitionBy komme fra den or en related tabell.
If utelatt: - orderBy må angis eksplisitt.– All orderBy andpartitionBy uttrykk må være fullstendige kolonnenavn and kommer fra én enkelt tabell.
– standarder for ALLSELECTED() av all kolonner i orderBy andpartitionBy . |
axis |
(Valgfritt) En akse i den visuelle figuren.
and er bare tilgjengelig i visuelle beregninger, erstatter relation . |
orderBy |
(Valgfritt) En ORDERBY() setningsdel som inneholder uttrykkene som define hvordan hver partisjon sorteres.
If utelatt: - relation må angis eksplisitt.
– Standarder for å bestille etter hver kolonne i relation som allerede er not angitt i partitionBy . |
blanks |
(Valgfritt) En opplisting som definerer hvordan du håndterer blankvalues når du sorterer.
Denne parameteren er reservert for fremtidig bruk. Foreløpig er den eneste støttede value DEFAULT , der virkemåten for numeriske values er blankvalues ordnes mellom null and negativ values. Virkemåten for strenger er blankvalues ordnes før all strenger, inkludert tomme strenger. |
partitionBy |
(Valgfritt) En PARTITIONBY() setningsdel som inneholder kolonnene som define hvordan relation partisjoneres.
If utelatt behandles relation som én enkelt partisjon. |
matchBy |
(Valgfritt) En MATCHBY() setningsdel som inneholder kolonnene som define hvordan data samsvarer and identifisere gjeldende rad. |
reset |
(Valgfritt) Bare tilgjengelig i visuelle beregninger. Angir if beregningen tilbakestilles, and på hvilket nivå i kolonnehierarkiet for visualobjektfiguren. Godtatt values er: en feltreferanse til en kolonne i gjeldende visuelle figur, NONE (standard), LOWESTPARENT , HIGHESTPARENT , or et heltall. Virkemåten avhenger av heltallet sign: - If null or utelatt, tilbakestilles beregningen not. Tilsvarer NONE .
– If positivt identifiserer heltallet kolonnen som starter fra den høyeste, uavhengige av korn. HIGHESTPARENT tilsvarer 1.
– If negativ, identifiserer heltallet kolonnen fra det laveste, i forhold til gjeldende korn. LOWESTPARENT tilsvarer -1. |
Returner value
All rader fra window.
Merknader
Except for kolonner som legges til av DAX tabellfunksjoner, må hver kolonne i relation
, når matchBy
er not til stede, or hver kolonne i matchBy
andpartitionBy
, når matchBy
finnes, ha en tilsvarende ytre value for å define gjeldende raden du vil fungere på.
If
from_type
and
to_type
begge har valueABS, gjelder følgende bare for partitionBy
kolonner:
- If det er nøyaktig én tilsvarende ytre kolonne, brukes value.
-
If det ikke finnes noen tilsvarende ytre kolonne:
- WINDOW vil first bestemme all kolonner som ikke har noen tilsvarende ytre kolonne.
- For hver kombinasjon av eksisterende values for disse kolonnene i WINDOWoverordnede kontekst, evalueres WINDOW, and tilsvarende rader returneres.
- WINDOW endelige utdataene er en union av disse radene.
- If det er mer enn én tilsvarende ytre kolonne, returneres en error.
If
all av kolonnene i relation
ble lagt til av DAX tabellfunksjoner, returneres en error.
If
matchBy
finnes, prøver WINDOW å bruke matchBy
andpartitionBy
kolonner til å identifisere raden.
If
matchBy
finnes notand kolonnene som er angitt i orderBy
andpartitionBy
, kan ikke identifisere hver rad i relation
unikt, og deretter:
- WINDOW vil prøve å find det minste antallet ekstra kolonner som kreves for å identifisere hver rad unikt.
-
If slike kolonner finnes, vil WINDOW automatisk føye til disse nye kolonnene i
orderBy
, and hver partisjon sorteres ved hjelp av dette nye settet med orderBy kolonner. - If slike kolonner ikke finnes, returneres en error.
En tom tabell returneres if:
- Den tilsvarende ytre value i en
orderBy
orpartitionBy
kolonne finnes not irelation
. - Hele window er utenfor partisjonen, or begynnelsen av window er etter slutten.
If
WINDOW brukes i en beregnet kolonne som er definert i samme tabell som relation
, utelates andorderBy
, returneres en error.
If begynnelsen av window viser seg å være før first raden, er den satt til first rad. På samme måte if slutten av window er etter den last raden i partisjonen, er den satt til last rad.
reset
bare kan brukes i visuelle beregninger, kan and ikke brukes i kombinasjon med orderBy
orpartitionBy
.
If
reset
finnes, kan axis
angis, men relation
kan ikke.
Eksempel 1 - measure
Følgende 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]))
)
Returnerer 3-dayaverage av enhetspriser for hver product. Legg merke til at 3-daywindow består av tre dager der product har salg, not nødvendigvis tre påfølgende calendar dager.
Eksempel 2 - measure
Følgende measure:
RunningSum =
SUMX (
WINDOW (
1, ABS, 0, REL,
ALLSELECTED (
'Date'[Fiscal Year],
'Date'[Month Number Of Year]
),
PARTITIONBY ( 'Date'[Fiscal Year] )
),
[Total Sales]
)
Returnerer løpende sum for totalt salg etter Month antall Year, og starter på nytt for hver Year:
Year | Month antall Year | Salgsbeløp | RunningSum |
---|---|---|---|
FY2018 | 1 | $1,327,675 | $1,327,675 |
FY2018 | 2 | $3,936,463 | KR 5 264 138 |
FY2018 | 3 | $700,873 | KR 5 965 011 |
FY2018 | 4 | $1,519,275 | $7,484,286 |
FY2018 | 5 | KR 2 960 378 | KR 10 444 664 |
FY2018 | 6 | $1,487,671 | KR 11 932 336 |
FY2018 | 7 | $1,423,357 | KR 13 355 693 |
FY2018 | 8 | KR 2 057 902 | $15,413,595 |
FY2018 | 9 | KR 2 523 948 | $17,937,543 |
FY2018 | 10 | $561,681 | KR 18 499 224 |
FY2018 | 11 | $4,764,920 | $23,264,145 |
FY2018 | 12 | $596,747 | $23,860,891 |
FY2019 | 1 | $1,847,692 | $1,847,692 |
FY2019 | 2 | $2,829,362 | $4,677,054 |
FY2019 | 3 | KR 2 092 434 | $6,769,488 |
FY2019 | 4 | $2,405,971 | KR 9 175 459 |
FY2019 | 5 | $3,459,444 | $12,634,903 |
FY2019 | 6 | KR 2 850 649 | $15,485,552 |
FY2019 | 7 | $2,939,691 | $18,425,243 |
FY2019 | 8 | $3,964,801 | KR 22 390 045 |
FY2019 | 9 | $3,287,606 | $25,677,650 |
FY2019 | 10 | KR 2 157 287 | KR 27 834 938 |
FY2019 | 11 | $3,611,092 | KR 31 446 030 |
FY2019 | 12 | KR 2 624 078 | KR 34 070 109 |
REGNSKAPSÅR2020 | 1 | $3,235,187 | $3,235,187 |
REGNSKAPSÅR2020 | 2 | KR 4 070 046 | $7,305,233 |
REGNSKAPSÅR2020 | 3 | $4,429,833 | KR 11 735 066 |
REGNSKAPSÅR2020 | 4 | KR 4 002 614 | $15,737,680 |
REGNSKAPSÅR2020 | 5 | $5,265,797 | KR 21 003 477 |
REGNSKAPSÅR2020 | 6 | $3,465,241 | KR 24 468 717 |
REGNSKAPSÅR2020 | 7 | $3,513,064 | $27,981,781 |
REGNSKAPSÅR2020 | 8 | $5,247,165 | KR 33 228 947 |
REGNSKAPSÅR2020 | 9 | KR 5 104 088 | KR 38 333 035 |
REGNSKAPSÅR2020 | 10 | $3,542,150 | $41,875,184 |
REGNSKAPSÅR2020 | 11 | KR 5 151 897 | KR 47 027 081 |
REGNSKAPSÅR2020 | 12 | $4,851,194 | $51,878,275 |
Eksempel 3 – visuell beregning
Følgende visuelle beregning DAX spørring:
TotalSalesRunningSumByYear = SUMX(WINDOW(0, ABS, 0, REL, ROWS, HIGHESTPARENT), [SalesAmount])
Returnerer det akkumulerte totale salget etter month, beregnet langs hver year.
values 1 and -2 kan brukes i stedet for HIGHESTPARENT
, med de samme resultatene.
Skjermbildet nedenfor viser den visuelle matrisen and beregningsuttrykket for visualobjekter:
Eksempel 4 – visuell beregning
Følgende visuelle beregning DAX spørring:
TotalSalesRunningSumByQuarter = SUMX(WINDOW(0, ABS, 0, REL, , -1), [SalesAmount])
Returnerer det akkumulerte totale salget etter month, beregnet langs hver quarter.
Related innhold
INDEX MOVINGAVERAGE OFFSET ORDERBY PARTITIONBY RANGE RANK ROWNUMBER RUNNINGSUM