Læs på engelsk

Del via


WINDOW

gælder for:beregnet kolonneberegnet tabelMeasurevisualiseringsberegning

Returnerer flere rækker, der er placeret inden for det angivne interval.

Syntaks

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

Parametre

Begreb Definition
from Angiver, hvor window starter. Det kan være et hvilket som helst DAX udtryk, der returnerer en skalar value.
Funktionsmåden afhænger af parameteren from_type:
- Iffrom_type er REL, or antallet af rækker (negativ value) fremad (positiv value) fra den aktuelle række for at hente den first række i window.
– Iffrom_type er ABS, andfrom er positiv, er det positionen for starten af window fra starten af partitionen. Indeksering er 1-baseret. 1 betyder f.eks., at window starter fra starten af partitionen. If from er negativ, er det placeringen af starten af window fra slutningen af partitionen. -1 betyder den last række i partitionen.
from_type Ændrer funktionsmåden for parameteren from. Mulige values er ABS (absolut) and REL (relativ). Standard er REL.
to Samme som from, men angiver slutningen af window. Rækken last er inkluderet i window.
to_type Samme som from_type, men ændrer funktionsmåden for to.
relation (Valgfrit) Et tabeludtryk, som outputrækkerne returneres fra.
If angivet, skal all kolonner i partitionBy komme fra den or en related tabel.
If udeladt:
- orderBy skal angives eksplicit.
– AllorderByandpartitionBy udtryk skal være fuldt kvalificerede kolonnenavne, and kommer fra en enkelt tabel.
– ALLSELECTED() af all kolonner i orderByandpartitionBysom standard.
axis (Valgfrit) En akse i visualiseringsfiguren. and er kun tilgængelig i visuelle beregninger og erstatter relation.
orderBy (Valgfrit) En ORDERBY()-delsætning, der indeholder de udtryk, der define, hvordan hver partition sorteres.
If udeladt:
- relation skal angives eksplicit.
– Sorteres som standard efter hver kolonne i relation, der allerede er not angivet i partitionBy.
blanks (Valgfrit) En optælling, der definerer, hvordan du håndterer blankvalues ved sortering.
Denne parameter er reserveret til fremtidig brug.
I øjeblikket er den eneste understøttede valueDEFAULT, hvor funktionsmåden for numeriske values er blankvalues sorteres mellem nul and negative values. Funktionsmåden for strenge er blankvalues sorteres før all strenge, herunder tomme strenge.
partitionBy (Valgfrit) En PARTITIONBY() delsætning, der indeholder de kolonner, der define, hvordan relation partitioneres. If udelades, behandles relation som en enkelt partition.
matchBy (Valgfrit) En MATCHBY() delsætning, der indeholder de kolonner, der define, hvordan data skal matche and identificere den aktuelle række.
reset (Valgfrit) Kun tilgængelig i visuelle beregninger. Angiverif beregningen nulstilles, and på hvilket niveau i den visuelle figurs kolonnehierarki. Accepterede values er: NONE, LOWESTPARENT, HIGHESTPARENTor et heltal. Funktionsmåden afhænger af heltalet sign:
- If nul or udeladt, nulstilles beregningen not. Svarer til NONE.
– If positiv, identificerer heltalet kolonnen med start fra den højeste, uafhængig af detaljering. HIGHESTPARENT svarer til 1.
– If negativ, identificerer heltalet kolonnen med start fra det laveste i forhold til den aktuelle detaljering. LOWESTPARENT svarer til -1.

Returner value

All rækker fra window.

Bemærkninger

Except for kolonner, der tilføjes af DAX tabelfunktioner, skal hver kolonne i relation, når matchBy er not til stede, or hver kolonne i matchByandpartitionBy, når matchBy er til stede, have en tilsvarende ydre value for at hjælpe med at define den aktuelle række, der skal arbejdes på. If from_type and to_type begge har valueABS, gælder følgende kun for de partitionBy kolonner:

  • If der er nøjagtigt én tilsvarende ydre kolonne, bruges dens value.
  • If der ikke er nogen tilsvarende ydre kolonne:
    • WINDOW bestemmer firstall kolonner, der ikke har en tilsvarende ydre kolonne.
    • For hver kombination af eksisterende values for disse kolonner i WINDOWoverordnede kontekst evalueres WINDOW, and de tilsvarende rækker returneres.
    • WINDOW endelige output er en union af disse rækker.
  • If der er mere end én tilsvarende ydre kolonne, returneres der en error.

If all af relation's kolonner blev tilføjet af DAX tabelfunktioner, returneres der en error.

If matchBy er til stede, forsøger WINDOW at bruge matchByandpartitionBy kolonner til at identificere rækken.
If matchBy findes notand de kolonner, der er angivet i orderByandpartitionBy, kan ikke entydigt identificere hver række i relation, og derefter:

  • WINDOW forsøger at find det mindste antal ekstra kolonner, der kræves for entydigt at identificere hver række.
  • If disse kolonner findes, føjer WINDOW automatisk disse nye kolonner til orderBy, and hver partition sorteres ved hjælp af dette nye sæt orderBy kolonner.
  • If sådanne kolonner ikke blev fundet, returneres der en error.

Der returneres en tom tabel if:

  • Den tilsvarende ydre value af en orderByorpartitionBy kolonne findes not i relation.
  • Hele window er uden for partitionen, or starten af window er efter slutningen.

If WINDOW bruges i en beregnet kolonne, der er defineret i den samme tabel som relation, andorderBy udelades, returneres der en error.

If starten af window viser sig at være før den first række, angives den til den first række. På samme måde er if slutningen af window efter den last række i partitionen, så er den angivet til den last række.

reset kun kan bruges i visuelle beregninger, kan and ikke bruges sammen med orderByorpartitionBy. If reset findes, kan axis angives, men relation kan ikke.

Eksempel 1 – measure

Følgende measure:

DAX
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 af enhedspriser for hver product. Bemærk, at 3-daywindow består af tre dage, hvor product har salg, not nødvendigvis tre på hinanden følgende calendar dage.

Eksempel 2 – measure

Følgende measure:

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

Returnerer den løbende sum for Samlet salg efter Month Antal Year, og genstarter for hver regnskabs Year:

Year Month antal Year Salgsbeløb RunningSum
FY2018 0 1.327.675 USD 1.327.675 USD
FY2018 2 3.936.463 USD 5.264.138 USD
FY2018 3 700.873 USD 5.965.011 USD
FY2018 4 1.519.275 USD 7.484.286 USD
FY2018 5 2.960.378 USD 10.444.664 USD
FY2018 6 1.487.671 USD 11.932.336 USD
FY2018 7 1.423.357 USD 13.355.693 USD
FY2018 8 2.057.902 USD 15.413.595 USD
FY2018 9 2.523.948 USD 17.937.543 USD
FY2018 10 561.681 USD 18.499.224 USD
FY2018 11 4.764.920 USD 23.264.145 USD
FY2018 12 596.747 USD 23.860.891 USD
FY2019 0 1.847.692 USD 1.847.692 USD
FY2019 2 2.829.362 USD 4.677.054 USD
FY2019 3 2.092.434 USD 6.769.488 USD
FY2019 4 2.405.971 USD 9.175.459 USD
FY2019 5 3.459.444 USD 12.634.903 USD
FY2019 6 2.850.649 USD 15.485.552 USD
FY2019 7 2.939.691 USD 18.425.243 USD
FY2019 8 3.964.801 USD 22.390.045 USD
FY2019 9 3.287.606 USD 25.677.650 USD
FY2019 10 2.157.287 USD 27.834.938 USD
FY2019 11 3.611.092 USD 31.446.030 USD
FY2019 12 2.624.078 USD 34.070.109 USD
FY2020 0 3.235.187 USD 3.235.187 USD
FY2020 2 4.070.046 USD 7.305.233 USD
FY2020 3 4.429.833 USD 11.735.066 USD
FY2020 4 4.002.614 USD 15.737.680 USD
FY2020 5 5.265.797 USD 21.003.477 USD
FY2020 6 3.465.241 USD 24.468.717 USD
FY2020 7 3.513.064 USD 27.981.781 USD
FY2020 8 5.247.165 USD 33.228.947 USD
FY2020 9 5.104.088 USD 38.333.035 USD
FY2020 10 3.542.150 USD 41.875.184 USD
FY2020 11 5.151.897 USD 47.027.081 USD
FY2020 12 4.851.194 USD 51.878.275 USD

Eksempel 3 – visuel beregning

Følgende visualiseringsberegning DAX forespørgsel:

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

Returnerer det samlede samlede salg efter month, beregnet sammen med hver year. De values 1 and -2 kan bruges i stedet for HIGHESTPARENTmed de samme resultater.

Skærmbilledet nedenfor viser den visuelle matrix and det visuelle beregningsudtryk:

DAX visualiseringsberegning

Eksempel 4 – visuel beregning

Følgende visualiseringsberegning DAX forespørgsel:

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

Returnerer det samlede samlede salg efter month, beregnet sammen med hver quarter.

INDEX
MOVINGAVERAGE
OFFSET
ORDERBY
PARTITIONBY
RANGE
RANK
ROWNUMBER RUNNINGSUM