CALCULATETABLE

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

Egy táblakifejezés kiértékelése módosított szűrőkörnyezetben.

Feljegyzés

Itt található a CALCULATE függvény is. Pontosan ugyanazt a funkciót végzi, kivéve, ha módosítja a skaláris értéket visszaadó kifejezésre alkalmazott szűrőkörnyezetet.

Syntax

CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])

Paraméterek

Időszak Definíció
Kifejezés A kiértékelendő táblakifejezés.
filter1, filter2,... (Nem kötelező) Szűrőket vagy szűrőmódosító függvényeket definiáló logikai kifejezések vagy táblakifejezések.

Az első paraméterként használt kifejezésnek egy modelltáblának vagy egy táblát visszaadó függvénynek kell lennie.

A szűrők lehetnek:

  • Logikai szűrőkifejezések
  • Táblaszűrő kifejezések
  • Szűrőmódosítási függvények

Ha több szűrő is létezik, a rendszer az AND logikai operátorral értékeli ki őket. Ez azt jelenti, hogy minden feltételnek EGYSZERRE KELL IGAZnak lennie.

Logikai szűrőkifejezések

A logikaikifejezés-szűrők olyan kifejezések, amelyek a kiértékelés során igaz vagy hamis értéket adnak vissza. Több szabályt is be kell tartaniuk:

  • Csak egyetlen oszlopra hivatkozhatnak.
  • Nem hivatkozhatnak a mértékekre.
  • Beágyazott CALCULATE függvényt nem használhatnak.

A Power BI Desktop 2021. szeptemberi kiadásától kezdve a következők is érvényesek:

  • Nem használhatnak olyan függvényeket, amelyek beolvasnak vagy visszaadnak egy táblát, hacsak nem adnak át argumentumokat az összesítő függvényeknek.
  • Tartalmazhatnak olyan összesítő függvényt, amely skaláris értéket ad vissza.

Táblaszűrő kifejezés

A táblakifejezés-szűrők táblaobjektumokat alkalmaznak szűrőként. Lehet, hogy egy modelltáblára mutató hivatkozás, de valószínűbb, hogy egy táblaobjektumot visszaadó függvény. A FILTER függvénnyel összetett szűrőfeltételeket alkalmazhat, beleértve azokat is, amelyeket nem lehet logikai szűrőkifejezéssel definiálni.

Szűrőmódosító függvények

A szűrőmódosító függvényekkel nem csupán szűrőket adhat hozzá. További vezérlést biztosítanak a szűrőkörnyezet módosításakor.

Függvény Cél
REMOVEFILTERS Távolítsa el az összes szűrőt vagy szűrőt egy tábla egy vagy több oszlopából, vagy egyetlen tábla összes oszlopából.
ALL1, ALLEXCEPT, ALLNOBLANKROW Szűrők eltávolítása egy vagy több oszlopból vagy egyetlen tábla összes oszlopából.
K Enterprise kiadás PFILTERS Szűrő hozzáadása a meglévő szűrők eltávolítása nélkül ugyanazon az oszlopon.
U Standard kiadás RELATIONSHIP Inaktív kapcsolat létesítése a kapcsolódó oszlopok között, ebben az esetben az aktív kapcsolat automatikusan inaktívvá válik.
KERESZTSZŰRŐ Módosítsa a szűrő irányát (mindkettőről egy vagy mindkettőre), vagy tiltsa le a kapcsolatot.

1 Az ALL függvény és változatai szűrőmódosítóként és táblaobjektumokat visszaadó függvényként is működnek. Ha az eszköz támogatja a REMOVEFILTERS függvényt, jobb, ha szűrők eltávolítására használja.

Visszaadott érték

Értéktáblázat.

Megjegyzések

  • Szűrőkifejezések megadásakor a CALCULATETABLE függvény módosítja a szűrőkörnyezetet a kifejezés kiértékeléséhez. Minden szűrőkifejezés esetében két lehetséges standard eredmény érhető el, ha a szűrőkifejezés nincs becsomagolva a K Enterprise kiadás PFILTERS függvénybe:

    • Ha az oszlopok (vagy táblák) nincsenek a szűrőkörnyezetben, akkor a rendszer új szűrőket ad hozzá a szűrőkörnyezethez a kifejezés kiértékeléséhez.
    • Ha az oszlopok (vagy táblák) már a szűrőkörnyezetben vannak, az új szűrők felülírják a meglévő szűrőket a CALCULATETABLE kifejezés kiértékeléséhez.
  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

Példa

Az alábbi példa a CALCULATETABLE függvényt használja a 2006-os internetes értékesítések összegének lekéréséhez. Ez az érték később az internetes értékesítések és a 2006-os év összes értékesítéséhez viszonyított arányának kiszámítására szolgál.

A következő képlet:

= SUMX(
    CALCULATETABLE(
        'InternetSales_USD',
        'DateTime'[CalendarYear] = 2006
    ),
    [SalesAmount_USD]
)  

Az eredmény a következő táblázat:

Sorfeliratok Internetes SalesAmount_USD CalculateTable 2006 Internetes értékesítés Internet Sales to 2006 ratio
2005 2 627 031,40 USD 5 681 440,58 USD 0,46
2006 5 681 440,58 USD 5 681 440,58 USD 1,00
2007 8 705 066,67 USD 5 681 440,58 USD 1.53
2008 9 041 288,80 USD 5 681 440,58 USD 1.59
Végösszeg 26 054 827,45 USD 5 681 440,58 USD 4.59