CALCULATETABLE

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

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

Jegyzet

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

Szintaxis

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

Paraméterek

Kifejezés Definíció
expression 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 a ANDlogikai operátorhasználatával értékeli ki őket. Ez azt jelenti, hogy minden feltételnek egyszerre TRUE kell lennie.

Logikai szűrőkifejezések

A logikai kifejezésszűrők olyan kifejezések, amelyek kiértékelése TRUE vagy FALSE. 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ési függvényt, amely skaláris értéket ad vissza.

Táblaszűrő kifejezés

A táblakifejezés-szűrő egy táblaobjektumot alkalmaz 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.

Funkció 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.
ALL 1, , ALLEXCEPTALLNOBLANKROW Szűrők eltávolítása egy vagy több oszlopból vagy egyetlen tábla összes oszlopából.
KEEPFILTERS Szűrő hozzáadása a meglévő szűrők eltávolítása nélkül ugyanazon az oszlopon.
USERELATIONSHIP 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.
CROSSFILTER Módosítsa a szűrő irányát (mindkettőről egy vagy mindkettőre), vagy tiltsa le a kapcsolatot.

1 A 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, érdemesebb szűrőket eltávolítani.

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 beburkolva a KEEPFILTERS 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