Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Számított oszlop
Számított tábla
Mérték
Vizualizá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 |