Applies ToMicrosoft 365-höz készült Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

Ez a szakasz azt ismerteti, hogyan hozhat létre szűrőket a Data Analysis Expressions- (DAX-) képletekben. Szűrőket hozhat létre a képleteken belül, hogy korlátozza a számításokban használt forrásadatok értékeit. Ehhez adjon meg egy táblát a képlet bemeneteként, majd definiáljon egy szűrőkifejezést. A megadott szűrőkifejezés az adatok lekérdezésére szolgál, és csak a forrásadatok egy részhalmazát adja vissza. A szűrőt a rendszer minden alkalommal dinamikusan alkalmazza, amikor frissíti a képlet eredményeit az adatok aktuális környezetétől függően.

A témakör tartalma

Szűrő létrehozása képletben használt táblán

Szűrőket alkalmazhat olyan képletekben, amelyek bemenetként használnak egy táblát. Táblanév megadása helyett a FILTER függvénnyel definiálhatja a megadott tábla sorainak egy részhalmazát. Ezt az alkészletet ezután a rendszer átadja egy másik függvénynek az olyan műveletekhez, mint az egyéni összesítések.

Tegyük fel például, hogy van egy adattáblája, amely a viszonteladókkal kapcsolatos rendelési adatokat tartalmazza, és ki szeretné számítani, hogy az egyes viszonteladók mennyit értékesítettek. Azonban csak azoknak a viszonteladóknak szeretné megjeleníteni az értékesítési összeget, akik a magasabb értékű termékek több egységét értékesítették. Az alábbi képlet a DAX-mintamunkafüzet alapján egy példát mutat be arra, hogyan hozhatja létre ezt a számítást szűrő használatával:

=SZUMX(      FILTER ('ResellerSales_USD', 'ResellerSales_USD'[Quantity] > 5 &&      "ResellerSales_USD"[ProductStandardCost_USD] > 100),      'ResellerSales_USD'[SalesAmt]      )

  • A képlet első része az Power Pivot összesítő függvények egyikét adja meg, amely argumentumként egy táblát vesz fel. A SUMX kiszámít egy összeget egy táblán keresztül.

  • A képlet második része, FILTER(table, expression),közli SUMX , hogy mely adatokat kell használnia. SUMX táblát vagy kifejezést igényel, amely táblát eredményez. Itt a tábla összes adatának használata helyett a FILTER függvénnyel adhatja meg, hogy a tábla mely sorait használja a rendszer.

    A szűrőkifejezés két részből áll: az első rész annak a táblának a neve, amelyre a szűrő vonatkozik. A második rész egy szűrőfeltételként használandó kifejezést határoz meg. Ebben az esetben olyan viszonteladókra szűr, akik több mint 5 egységet és 100 dollárnál drágább termékeket értékesítettek. A && operátor logikai ÉS operátor, amely azt jelzi, hogy a feltétel mindkét részének igaznak kell lennie ahhoz, hogy a sor a szűrt részhalmazhoz tartozzék.

  • A képlet harmadik része közli a SUMX függvénnyel, hogy mely értékeket kell összegződni. Ebben az esetben csak az értékesítési összeget használja.

    Vegye figyelembe, hogy az olyan függvények, mint a FILTER, amelyek egy táblát adnak vissza, soha nem adnak vissza közvetlenül táblázatot vagy sorokat, de mindig egy másik függvénybe vannak beágyazva. További információ a SZŰRÉSről és a szűréshez használt egyéb függvényekről, beleértve a további példákat is: Szűrőfüggvények (DAX).

    Megjegyzés: A szűrőkifejezésre hatással van a környezet, amelyben használja. Ha például szűrőt használ egy mértékben, és a mértéket egy kimutatásban vagy kimutatásdiagramban használja, a visszaadott adatok részhalmazára hatással lehetnek a felhasználó által a kimutatásban alkalmazott további szűrők vagy szeletelők. A környezettel kapcsolatos további információkért lásd: Környezet a DAX-képletekben.

Ismétlődő elemeket eltávolító szűrők

Adott értékek szűrése mellett egy másik táblából vagy oszlopból is visszaadhat egyedi értékkészletet. Ez akkor lehet hasznos, ha meg szeretné számolni egy oszlop egyedi értékeinek számát, vagy más műveletekhez egyedi értékek listáját szeretné használni. A DAX két függvényt biztosít a különböző értékek visszaadására: DISTINCT függvény és VALUES függvény.

  • A DISTINCT függvény megvizsgálja a függvény argumentumaként megadott egyetlen oszlopot, és egy új oszlopot ad vissza, amely csak a különböző értékeket tartalmazza.

  • A VALUES függvény egyedi értékek listáját is visszaadja, de az Ismeretlen tagot is visszaadja. Ez akkor hasznos, ha két, kapcsolattal összekapcsolt táblából származó értékeket használ, és egy érték hiányzik az egyik táblából, és a másikban jelen van. Az Ismeretlen tagról további információt a Környezet DAX-képletekben című témakörben talál.

Mindkét függvény egy teljes értékoszlopot ad vissza; ezért a függvényekkel lekérheti az értékek listáját, amelyeket aztán egy másik függvénynek ad át. Az alábbi képlettel például lekérheti egy adott viszonteladó által értékesített különböző termékek listáját az egyedi termékkulcs használatával, majd a COUNTROWS függvénnyel megszámlálhatja a listában szereplő termékeket:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Vissza a lap tetejére

A környezet hatása a szűrőkre

Amikor DAX-képletet ad hozzá egy kimutatáshoz vagy kimutatásdiagramhoz, a környezet hatással lehet a képlet eredményeire. Ha egy Power Pivot táblában dolgozik, a környezet az aktuális sor és annak értékei. Ha kimutatásban vagy kimutatásdiagramban dolgozik, a környezet az olyan műveletek által meghatározott adatok halmazát vagy részhalmazát jelenti, mint a szeletelés vagy a szűrés. A kimutatás vagy a kimutatásdiagram kialakítása is saját kontextust ír elő. Ha például olyan kimutatást hoz létre, amely régió és év szerint csoportosítja az értékesítéseket, csak az adott régiókra és évekre vonatkozó adatok jelennek meg a kimutatásban. Ezért a kimutatáshoz hozzáadott mértékek kiszámítása az oszlop- és sorfejlécek, valamint a mértékképlet szűrőinek kontextusában történik.

További információ: Környezet a DAX-képletekben.

Vissza a lap tetejére

Szűrők eltávolítása

Összetett képletek használatakor érdemes lehet pontosan tudni, hogy mik az aktuális szűrők, vagy módosítani szeretné a képlet szűrőrészét. A DAX számos olyan függvényt biztosít, amelyek lehetővé teszik a szűrők eltávolítását, valamint annak szabályozását, hogy mely oszlopok legyenek megőrizve az aktuális szűrőkörnyezet részeként. Ez a szakasz áttekintést nyújt arról, hogy ezek a függvények hogyan befolyásolják a képletek eredményeit.

Az összes szűrő felül bírálása az ALL függvénnyel

A ALL függvénnyel felülbírálhatja a korábban alkalmazott szűrőket, és visszaadhatja a tábla összes sorát az összesítő vagy más műveletet végrehajtó függvénynek. Ha táblázat helyett egy vagy több oszlopot használ a ALLargumentumaként, a ALL függvény az összes sort visszaadja, figyelmen kívül hagyva a környezeti szűrőket.

Megjegyzés: Ha ismeri a relációs adatbázisok terminológiáját, ALL az összes tábla természetes bal oldali külső illesztésének létrehozására gondolhat.

Tegyük fel például, hogy rendelkezik a Sales (Értékesítések) és a Products (Termékek) táblákkal, és létre szeretne hozni egy képletet, amely kiszámítja az aktuális termék értékesítéseinek összegét az összes termék értékesítéseivel osztva. Figyelembe kell vennie azt a tényt, hogy ha a képletet egy mértékben használják, előfordulhat, hogy a kimutatás felhasználója szeletelővel szűr egy adott termékre, a sorokban pedig a terméknév szerepel. Ezért ha a nevező valódi értékét szeretné megkapni, függetlenül a szűrőktől vagy a szeletelőktől, hozzá kell adnia az ALL függvényt a szűrők felülbírálásához. Az alábbi képlet egy példa arra, hogyan lehet az ALL függvényt használni a korábbi szűrők hatásainak felülbírálásához:

=SZUM (Értékesítés[Mennyiség])/SUMX(Értékesítés[Mennyiség]; FILTER(Értékesítés, ALL(Termékek)))

  • A képlet első része, a SZUM (Értékesítés[Mennyiség]) kiszámítja a számlálót.

  • Az összeg figyelembe veszi az aktuális környezetet, ami azt jelenti, hogy ha a képletet hozzáadja egy számított oszlophoz, a sorkörnyezet lesz alkalmazva, és ha mértékként adja hozzá a képletet egy kimutatáshoz, a kimutatásban (a szűrőkörnyezetben) alkalmazott szűrőket alkalmazza a rendszer.

  • A képlet második része kiszámítja a nevezőt. Az ALL függvény felülbírálja az Products táblára esetlegesen alkalmazott szűrőket.

További információkért, beleértve a részletes példákat, tekintse meg az ALL függvényt.

Adott szűrők felülírása az ALLEXCEPT függvénnyel

Az ALLEXCEPT függvény felülbírálja a meglévő szűrőket is, de megadhatja, hogy a meglévő szűrők némelyikét meg kell őrizni. Az ALLEXCEPT függvény argumentumaként megadott oszlopok határozzák meg, hogy mely oszlopok lesznek továbbra is szűrve. Ha felül szeretné bírálni a legtöbb oszlop szűrőit, de nem az összeset, az ALLEXCEPT kényelmesebb, mint az ALL. Az ALLEXCEPT függvény különösen akkor hasznos, ha olyan kimutatásokat hoz létre, amelyek számos különböző oszlopra szűrhetők, és a képletben használt értékeket szeretné szabályozni. További információkért, beleértve az ALLEXCEPT kimutatásban való használatának részletes példáját, tekintse meg az ALLEXCEPT függvény című témakört.

Vissza a lap tetejére

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.