K Enterprise kiadás PFILTERS
A következőre vonatkozik: Számított oszlopSzámított táblamértékvizualizációszámítása
Módosítja a szűrők alkalmazását a CALCULATE vagy CALCULATETABLE függvény kiértékelése során.
Syntax
KEEPFILTERS(<expression>)
Paraméterek
Időszak | Definíció |
---|---|
Kifejezés | Bármilyen kifejezés. |
Visszaadott érték
Értéktáblázat.
Megjegyzések
A K Enterprise kiadás PFILTERS függvényt a CALCULATE és CALCULATETABLE függvények környezetében használja a függvények szokásos viselkedésének felülbírálásához.
Alapértelmezés szerint az olyan függvények szűrőargumentumait használja a rendszer, mint például a CALCULATE, a kifejezés kiértékelési környezete, és mint ilyen, a CALCULATE szűrőargumentumai az összes meglévő szűrőt ugyanazon oszlopokra cserélik. A CALCULATE szűrőargumentum által alkalmazott új környezet csak a szűrőargumentum részeként említett oszlopok meglévő szűrőit érinti. A CALCULATE vagy más kapcsolódó függvény argumentumaitól eltérő oszlopok szűrői továbbra is érvényben maradnak és változatlanok maradnak.
A K Enterprise kiadás PFILTERS függvény lehetővé teszi ennek a viselkedésnek a módosítását. A K Enterprise kiadás PFILTERS használatakor az aktuális környezet összes meglévő szűrője össze lesz hasonlítva a szűrőargumentumok oszlopaival, és az argumentumok metszetét használja a kifejezés kiértékelésére szolgáló környezetként. Az egyik oszlopra gyakorolt nettó hatás az, hogy mindkét argumentumcsoport érvényes: a CALCULATE függvényben használt szűrőargumentumok és a K Enterprise kiadás PFILTER függvény argumentumaiban lévő szűrők. Más szóval, míg a CALCULATE szűrők helyettesítik az aktuális környezetet, a K Enterprise kiadás PFILTERS szűrőket ad hozzá az aktuális környezethez.
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 olyan gyakori forgatókönyveket mutat be, amelyek bemutatják a K Enterprise kiadás PFILTERS függvény használatát egy CALCULATE vagy CALCULATETABLE képlet részeként.
Az első három kifejezés egyszerű adatokat szerez be az összehasonlításhoz:
Internetes értékesítés Washington államban.
Internet Sales for the states of Washington and Oregon (mindkét állam együttesen).
Internet sales for the state of Washington and province of British Columbia (mindkét régió együtt).
A negyedik kifejezés washingtoni és oregoni internetes értékesítéseket számít ki, míg a Washington és a British Columbia szűrője lesz alkalmazva.
A következő kifejezés washingtoni és oregoni internetes értékesítéseket számít ki, de a K Enterprise kiadás PFILTERS függvényt használja; a Washington és a British Columbia szűrője a korábbi környezet része.
EVALUATE ROW(
"$$ in WA"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
)
, "$$ in WA and OR"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
, "$$ in WA and BC"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
, "$$ in WA and OR ??"
, CALCULATE(
CALCULATE('Internet Sales'[Internet Total Sales]
,'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
, "$$ in WA !!"
, CALCULATE(
CALCULATE('Internet Sales'[Internet Total Sales]
, KEEPFILTERS('Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
)
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
)
Ha a kifejezés kiértékelése az AdventureWorks DW mintaadatbázison történik, a rendszer a következő eredményeket kapja.
Oszlop | Érték |
---|---|
[$$ WA-ban] | 2 467 248,34 USD |
[$$ WA-ban és VAGY] | 3 638 239,88 USD |
[$$ WA-ban és BC-ben] | 4 422 588,44 USD |
[$$ WA-ban és VAGY ??] | 3 638 239,88 USD |
[$$ a WA !!] | 2 467 248,34 USD |
Feljegyzés
A fenti eredmények oktatási célokból táblázatba lettek formázva egyetlen sor helyett.
Először vizsgálja meg a [$$ in WA and OR ??] kifejezést. Felmerülhet a kérdés, hogy ez a képlet hogyan adja vissza a Washington és Oregon állambeli értékesítések értékét, mivel a külső CALCULATE kifejezés tartalmaz egy washingtoni és brit columbiai szűrőt. A válasz az, hogy a CALCULATE alapértelmezett viselkedése felülbírálja a "Geography"[State Province Code] külső szűrőit, és lecseréli a saját szűrőargumentumait, mivel a szűrők ugyanarra az oszlopra vonatkoznak.
Ezután vizsgálja meg a [$$ in WA !!] kifejezést. Felmerülhet a kérdés, hogy ez a képlet hogyan tudja visszaadni a Washingtonban és semmi másban nem szereplő értékesítések értékét, mivel az argumentumszűrő oregoni, a külső CALCULATE kifejezés pedig egy washingtoni és brit columbiai szűrőt tartalmaz. A válasz az, hogy a K Enterprise kiadás PFILTERS módosítja a CALCULATE alapértelmezett viselkedését, és hozzáad egy további szűrőt. Mivel a szűrők metszetét használják, most a külső " Geography"[State Province Code]="WA" || A "Geography"[State Province Code]="BC") a "Geography"[State Province Code]="WA" || szűrőargumentumhoz van hozzáadva. 'Geography'[State Province Code]="OR",. Mivel mindkét szűrő ugyanarra az oszlopra vonatkozik, az eredményként kapott "Geography"[State Province Code]="WA" szűrő a kifejezés kiértékelésekor alkalmazott szűrő.
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: