Ez a bejegyzés azt tárgyalja, hogyan lehet azonosítani egy szűrőt az xmSQL-en keresztül, és a LuckyTemplates tárolómotor-lekérdezésével. Azt is megtudhatja, mit csinál a VertiPaq, amikor szűri a hatótávolságot. Ez azért fontos téma, mert a szűrőkben alkalmazott sokféleség a DAX teljesítményének legnagyobb hajtóereje.
Az xmSQL lekérdezés egy kvázi folytatásos nyelv, amely tartalmazza a SELECT , FROM és WHERE záradékot. A WHERE záradék az Ön szűrője, amely akkor kerül bevezetésre, amikor az ort használjafunkció. A szűrők a logikai lekérdezési tervben és a tárolómotor lekérdezési tervében is léteznek.
Tartalomjegyzék
Szűrő kontextus átmenet
Ennek a mintalekérdezésnek afunkciót a Total Sales és afunkciót a Fact Sales felett. A tényértékesítés megszorozza a jelenlegi árat és az értékesítési mennyiséget. Ebben a példában csak a 300-nál nagyobb eladásokra kell összpontosítania.

A lekérdezés futtatása egy egysoros táblázat eredményt ad, amely nem túl hasznos.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Ha azonban megnyitja a Kiszolgálóidőzítések lapot, és átvizsgálja, láthatja az xmSQL utasítást, amely információt ad a lekérdezésről.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
A WITH záradék a $Expr0 értékkel azt jelenti, hogy egy matematikai kifejezés kiszámítása folyamatban van. Ezután a kifejezést kiválasztja az értékesítési adattáblából vagy a tényértékesítési táblából, majd a WHERE záradékban szűri a beállított feltételekkel.
A fizikai lekérdezési tervben láthatja a Filter_Vertipaq operátort. Ez azt jelenti, hogy a lekérdezés a tárolómotorba kerül. Amennyire csak lehetséges, használja a tárolómotort szűrőként a gyorsabb DAX teljesítmény érdekében.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Ez egy másik példalekérdezés, amely a SUMX-et használja a CALCULATETABLE függvény helyett . Ha futtatja a lekérdezést, és megnézi az xmSQL utasítást, ugyanazt az eredményt, vizsgálati és lekérdezési terveket láthatja.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Az eredmények generálásához használhatja a SUMX vagy a CALCULATETABLE függvényt. De a SUMX néha lassabb lehet, mint a CALCULATETABLE . A simább DAX teljesítmény elérése érdekében a legjobb az utóbbit használni.
Szűrés a tartományon a LuckyTemplatesben
Ez egy mintalekérdezés, amely egy tartományra szűr. A szűrőfeltétel akkor kapja meg az értékesítési adatokat, ha az aktuális ár nagyobb vagy egyenlő, mint 300, de kisebb, mint 1000.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Ha futtatja a lekérdezést, és megnézi az xmSQL utasítást, láthat egy tartományt a WHERE záradékban.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Ha megnézi a fizikai lekérdezési tervet, 2 Filter_Vertipaq látható . Ez azért van, mert a szűrő tartománya 300 és 1000 között van. Ez azt is jelenti, hogy a tárolómotor dolgozik a lekérdezésen és a számításon.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Itt van egy másik lekérdezés több értékkel az OR záradékot használva, amelyet „ ||” jelöl ”.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
A lekérdezés futtatása után láthatja a WHERE záradék változásait az xmSQL utasításban. Az xmSQL az OR utasítást IN utasítássá konvertálta .
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Ha az IN-t használja a lekérdezésben, akkor ugyanazt az xmSQL utasítást és eredményt adja. Ne feledje, hogy az IN használatakor egy táblázatnak kell lennie, amelyet szögletes zárójelek jelölnek.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
De az OR vagy IN záradék használata nem számít, mert amikor a tárolómotor beolvassa, tudja, hogy ugyanaz az xmSQL utasítás van benne. Ezért ugyanazt az eredményt adja, 939 012 dollárt.
![Szűrés a LuckyTemplatesben: DAX Queries Context Transition Szűrés a LuckyTemplatesben: DAX Queries Context Transition]()
Következtetés
Ebben a blogbejegyzésben megtanulta, hogyan állíthat be szűrőfeltételt a DAX-ban a következő helyen: . A szűrők határozzák meg, hogy milyen eredmények generálhatók a LuckyTemplates DAX-lekérdezéséből. Ezek fontos entitások, amelyeket létre kell hozni a kontextus-átmenetek meghívásához. Ha konkrét eredményeket szeretne kapni különböző időszakokból vagy tartományokból, akkor a szűrőkontextust meg kell adni a lekérdezésben.
Nick