ABLAK

A következőre vonatkozik: Számított oszlopSzámított táblamértékvizualizációszámítása

Több sort ad vissza, amelyek az adott intervallumon belül vannak elhelyezve.

Syntax

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

Paraméterek

Időszak Definíció
from Azt jelzi, hogy hol kezdődik az ablak. Bármilyen DAX-kifejezés lehet, amely skaláris értéket ad vissza.
A viselkedés a <from_type> paramétertől függ:
– Ha <from_type> REL, akkor az aktuális sorból visszalépendő sorok száma (negatív érték) vagy előre (pozitív érték) az ablak első sorának lekéréséhez.
- Ha <from_type> ABS, és <pozitív> , akkor az ablak elejének pozíciója a partíció elejétől. Az indexelés 1-alapú. Például az 1 azt jelenti, hogy az ablak a partíció elejétől kezdődik. Ha <a feladó> negatív, akkor az ablak elejének pozíciója a partíció végéről. A -1 a partíció utolsó sorát jelenti.
from_type Módosítja a forrásparaméter> viselkedését<. Lehetséges értékek az ABS (abszolút) és a REL (relatív). Az alapértelmezett érték a REL.
felhasználóként a(z) Ugyanaz, mint <a feladótól>, de az ablak végét jelzi. Az utolsó sor szerepel az ablakban.
to_type Ugyanaz, mint <from_type, de módosítja a viselkedését<>.>
Kapcsolat (Nem kötelező) Egy táblakifejezés, amelyből a kimeneti sorok lesznek visszaadva.
Ha meg van adva, a partitionBy> összes oszlopának <onnan vagy egy kapcsolódó táblából kell származnia.
Ha nincs megadva:
- <az orderBy-t> explicit módon kell megadni.
- Minden <orderBy> és <partitionBy> kifejezésnek teljes oszlopneveknek kell lennie, és egyetlen táblából kell származnia.
- Alapértelmezés szerint az összes oszlop ALL Standard kiadás LECTED() értéke az orderBy> és <partitionBy> sorrendben<.
tengely (Nem kötelező) A vizualizáció alakzatának tengelye. Csak vizuális számításokban érhető el, és lecseréli a relációt<>.
orderBy (Nem kötelező) Egy ORDERBY() záradék, amely az egyes partíciók rendezését meghatározó kifejezéseket tartalmazza.
Ha nincs megadva:
- <a relációt> explicit módon kell megadni.
- Alapértelmezés szerint a partitionBy-ben még nem megadott összes oszlop> sorrendje<<.>
Üres (Nem kötelező) Enumerálás, amely meghatározza, hogyan kell kezelni az üres értékeket a rendezés során.
Ez a paraméter jövőbeli használatra van fenntartva.
Jelenleg az egyetlen támogatott érték az ALAPÉRTELMEZETT érték, ahol a numerikus értékek viselkedése üres érték, nulla és negatív értékek között van rendezve. A sztringek viselkedése üres érték, amely az összes sztring előtt van rendezve, beleértve az üres sztringeket is.
partitionBy (Nem kötelező) A partíciók particionálásának> módját <meghatározó oszlopokat tartalmazó PARTITIONBY() záradék. Ha nincs megadva, <a kapcsolat> egyetlen partícióként lesz kezelve.
matchBy (Nem kötelező) EGY MATCHBY() záradék, amely azokat az oszlopokat tartalmazza, amelyek meghatározzák az adatok egyeztetését és az aktuális sor azonosítását.
Orrgazdaság (Nem kötelező) Csak vizuális számításokban érhető el. Azt jelzi, hogy a számítás alaphelyzetbe áll-e, és a vizualizáció alakzatának oszlophierarchiájának melyik szintjén. Az elfogadott értékek a következők: NONE, LOWESTPARENT, HIGHESTPARENT vagy egész szám. A viselkedés az egész szám jelétől függ:
– Ha nulla vagy nincs megadva, a számítás nem állítható vissza. A NONE értéknek megfelelő.
- Ha pozitív, az egész szám azonosítja az oszlopot a legmagasabbtól kezdve, a szemcséktől függetlenül. A HIGHESTPARENT az 1-nek felel meg.
- Ha negatív, az egész szám a legalacsonyabbtól kezdődő oszlopot azonosítja az aktuális szemcséhez viszonyítva. A LOWESTPARENT értéke -1.

Visszaadott érték

Az ablak összes sora.

Megjegyzések

A DAX-táblafüggvények által hozzáadott oszlopok kivételével minden relációs oszlopnak<, ha <a matchBy> nincs jelen, vagy a matchBy> és <partitionBy> minden oszlopának<, ha <a matchBy> jelen van, rendelkeznie kell egy megfelelő külső értékkel, amely segít meghatározni az aktuális sort, amelyen működni> szeretne. Ha <from_type> és <to_type> is rendelkezik ABS értékkel, akkor az alábbiak csak a <partitionBy> oszlopokra vonatkoznak:

  • Ha pontosan egy megfelelő külső oszlop van, annak értékét használja a rendszer.
  • Ha nincs megfelelő külső oszlop:
    • A WINDOW először meghatározza az összes olyan oszlopot, amely nem rendelkezik megfelelő külső oszloppal.
    • Az ABLAK szülőkörnyezetében lévő oszlopok meglévő értékeinek minden kombinációja esetén a RENDSZER kiértékeli az ABLAK értéket, és visszaadja a megfelelő sorokat.
    • A WINDOWS végső kimenete ezeknek a soroknak az egyesítése.
  • Ha egynél több megfelelő külső oszlop van, a függvény hibát ad vissza.

Ha a <DAX táblafüggvények hozzáadták a reláció> összes oszlopát, a rendszer hibát ad vissza.

Ha <a matchBy> jelen van, a WINDOW a matchBy> és <a partitionBy> oszlopokat fogja használni <a sor azonosításához.
Ha <a matchBy> nincs jelen, és az orderBy> és <a partitionBy> függvényben <megadott oszlopok nem tudják egyedileg azonosítani a reláció> összes sorát<, akkor:

  • A WINDOWS megpróbálja megtalálni a legkevesebb további oszlopot, amelyek minden sor egyedi azonosításához szükségesek.
  • Ha ilyen oszlopok találhatók, a WINDOWS automatikusan hozzáfűzi ezeket az új oszlopokat az orderBy> oszlophoz<, és minden partíciót ezzel az új orderBy oszlopkészlettel rendez.
  • Ha az ilyen oszlopok nem találhatók, a rendszer hibát ad vissza.

A függvény üres táblát ad vissza, ha:

  • Az orderBy vagy partitionBy> oszlop megfelelő külső értéke <nem létezik a relációban.><<>
  • Az egész ablak a partíción kívül van, vagy az ablak kezdete a vége után van.

Ha a WINDOWS a relációval <>azonos táblában definiált számított oszlopban van használva, és <az orderBy> hiányzik, a rendszer hibát ad vissza.

Ha az ablak eleje az első sor előtt van, akkor az első sorra van állítva. Hasonlóképpen, ha az ablak vége a partíció utolsó sora után van, akkor az utolsó sorra van állítva.

<a visszaállítás> csak vizualizációs számításokban használható, és nem használható az orderBy> vagy <a partitionBy> együttes használatával<. Ha <az alaphelyzetbe állítás> jelen van, a tengely> megadható, <de <a reláció> nem.

1. példa – mérték

A következő mérték:

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]))
)

Az egyes termékek egységárainak 3 napos átlagát adja vissza. Vegye figyelembe, hogy a 3 napos időszak három napból áll, amelyben a termék értékesítéssel rendelkezik, nem feltétlenül három egymást követő naptári napból.

2. példa – mérték

A következő mérték:

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

Az összes értékesítés folyó összegét adja vissza hónapszám szerint, minden pénzügyi évre vonatkozóan újraindulva:

Year Év hónapszáma Értékesítési összeg RunningSum
FY2018 0 1 327 675 FT 1 327 675 FT
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 FT 10 444 664 FT
FY2018 6 1 487 671 USD 11 932 336 FT
FY2018 7 1 423 357 FT 13 355 693 FT
FY2018 8 2 057 902 USD 15 413 595 FT
FY2018 9 2 523 948 FT 17 937 543 FT
FY2018 10 561 681 USD 18 499 224 USD
FY2018 11 4 764 920 FT 23 264 145 USD
FY2018 12 596 747 USD 23 860 891 USD
FY2019 0 1 847 692 FT 1 847 692 FT
FY2019 2 2 829 362 USD 4 677 054 FT
FY2019 3 2 092 434 FT 6 769 488 FT
FY2019 4 2 405 971 FT 9 175 459 USD
FY2019 5 3 459 444 USD 12 634 903 FT
FY2019 6 2 850 649 FT 15 485 552 USD
FY2019 7 2 939 691 FT 18 425 243 USD
FY2019 8 3 964 801 USD 22 390 045 FT
FY2019 9 3 287 606 USD 25 677 650 FT
FY2019 10 2 157 287 USD 27 834 938 FT
FY2019 11 3 611 092 USD 31 446 030 FT
FY2019 12 2 624 078 USD 34 070 109 FT
FY2020 0 3 235 187 USD 3 235 187 USD
FY2020 2 4 070 046 FT 7 305 233 USD
FY2020 3 4 429 833 USD 11 735 066 FT
FY2020 4 4 002 614 USD 15 737 680 FT
FY2020 5 5 265 797 FT 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 FT
FY2020 9 5 104 088 FT 38 333 035 USD
FY2020 10 3 542 150 FT 41 875 184 USD
FY2020 11 5 151 897 FT 47 027 081 USD
FY2020 12 4 851 194 USD 51 878 275 USD

3. példa – vizualizációszámítás

A következő vizualizációszámítási DAX-lekérdezés:

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

Az összes értékesítés havi összesítését adja eredményül, amely az egyes évek mentén van kiszámítva. Az 1 és a -2 érték használható a HIGHESTPARENT helyett, ugyanazokkal az eredményekkel.

Az alábbi képernyőképen a vizualizációs mátrix és a vizualizáció számítási kifejezése látható:

DAX-vizualizáció kiszámítása

4. példa – vizualizációszámítás

A következő vizualizációszámítási DAX-lekérdezés:

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

Az összes értékesítés havi összesítését adja eredményül, amely az egyes negyedévek mentén van kiszámítva.

INDEX
MOVINGAVERAGE
KI STANDARD KIADÁS T
ORDERBY
PARTITIONBY
TARTOMÁNY
RANGOT
ROWNUMBERRUNNINGSUM