CALCULATETABLE
A következőre vonatkozik: Számított oszlop
Számított tábla
Mérték
vizualizá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. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | 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. |
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 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 |