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

A környezet lehetővé teszi a dinamikus elemzést, amelyben a képletek eredményei az aktuális sor- vagy cellakijelölésnek és a kapcsolódó adatoknak megfelelően változhatnak. A környezet megértése és a környezet hatékony használata nagyon fontos a nagy teljesítményű képletek készítéséhez, a dinamikus elemzésekhez és a képletekkel kapcsolatos problémák elhárításához.

Ez a szakasz a környezet különböző típusait határozza meg: sorkörnyezetet, lekérdezési környezetet és szűrőkörnyezetet. Ismerteti, hogyan történik a környezet kiértékelése a számított oszlopokban és a kimutatásokban lévő képletek esetében.

A cikk utolsó része részletes példákra mutató hivatkozásokat tartalmaz, amelyek bemutatják, hogyan változnak a képletek eredményei a környezetnek megfelelően.

A környezet megértése

A Power Pivot képleteit befolyásolhatják a kimutatásban alkalmazott szűrők, a táblák közötti kapcsolatok és a képletekben használt szűrők. A környezet teszi lehetővé a dinamikus elemzést. A környezet megértése fontos a képletek létrehozása és hibaelhárítása szempontjából.

A környezetnek különböző típusai vannak: sorkörnyezet, lekérdezési környezet és szűrőkörnyezet.

A sorkörnyezet az "aktuális sor"- ként is felfogható. Ha létrehozott egy számított oszlopot, a sorkörnyezet az egyes sorok értékeiből és az aktuális sorhoz kapcsolódó oszlopok értékeiből áll. Vannak olyan függvények is (EARLIER és EARLIEST), amelyek az aktuális sorból kapnak értéket, majd ezt az értéket használják egy művelet végrehajtásakor egy teljes táblán.

A lekérdezési környezet az adatok azon részhalmazára utal, amely implicit módon jön létre a kimutatás egyes celláihoz a sor- és oszlopfejléctől függően.

A szűrőkörnyezet az egyes oszlopokban engedélyezett értékek halmaza a sorra alkalmazott vagy a képleten belüli szűrőkifejezések által meghatározott szűrési korlátozások alapján.

Vissza a lap tetejére

Sorkörnyezet

Ha számított oszlopban hoz létre képletet, a képlet sorkörnyezete az aktuális sor összes oszlopának értékeit tartalmazza. Ha a táblázat egy másik táblához kapcsolódik, a tartalom a másik táblázatból származó összes olyan értéket is tartalmazza, amely az aktuális sorhoz kapcsolódik.

Tegyük fel például, hogy létrehoz egy =[Freight] + [Tax] nevű számított oszlopot, amely két oszlopot ad hozzá ugyanabból a táblából. Ez a képlet ugyanúgy viselkedik, mint egy Excel-táblázat képletei, amelyek automatikusan hivatkoznak ugyanabból a sorból származó értékekre. Vegye figyelembe, hogy a táblázatok eltérnek a tartományoktól: a tartomány jelölésének használatával nem hivatkozhat az aktuális sor előtti sorból származó értékekre, és nem hivatkozhat tetszőleges egyetlen értékre egy táblázatban vagy cellában. Mindig táblákkal és oszlopokkal kell dolgoznia.

A sorkörnyezet automatikusan követi a táblák közötti kapcsolatokat annak meghatározásához, hogy a kapcsolódó táblák mely sorai vannak társítva az aktuális sorhoz.

Az alábbi képlet például a RELATED függvénnyel kér le egy adóértéket egy kapcsolódó táblából annak a régiónak a alapján, amelybe a rendelést szállították. Az adóértéket az aktuális tábla régióértékének használatával határozza meg, megkeresi a régiót a kapcsolódó táblában, majd lekérte az adott régióra vonatkozó adókulcsot a kapcsolódó táblából.

= [Fuvardíj] + RELATED('Region'[TaxRate])

Ez a képlet egyszerűen lekéri az aktuális régió adókulcsát a Régió táblából. Nem kell ismernie vagy megadnia a táblákat összekötő kulcsot.

Többsoros környezet

Emellett a DAX olyan függvényeket is tartalmaz, amelyek egy tábla számításait iterálják. Ezek a függvények több aktuális sorból és aktuális sorkörnyezetből is lehetnek. Programozási szempontból létrehozhat olyan képleteket, amelyek egy belső és külső hurokon keresztül ismétlődnek.

Tegyük fel például, hogy a munkafüzet tartalmaz egy Products (Termékek ) és egy Sales (Értékesítés) táblát. Érdemes lehet áttekinteni a teljes értékesítési táblát, amely több terméket érintő tranzakciókat tartalmaz, és meg szeretné keresni az egyes termékekhez rendelt legnagyobb mennyiséget egy tranzakcióban.

Az Excelben ehhez a számításhoz köztes összegzések sorozatára van szükség, amelyeket újra kell felépíteni, ha az adatok megváltoznak. Ha Ön az Excel fő felhasználója, lehetséges, hogy olyan tömbképleteket hozhat létre, amelyek elvégzik a feladatot. Másik lehetőségként egy relációs adatbázisban beágyazott részkiválasztásokat is írhat.

A DAX segítségével azonban létrehozhat egyetlen képletet, amely a helyes értéket adja vissza, és az eredmények automatikusan frissülnek, amikor adatokat ad hozzá a táblákhoz.

=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),Sales[OrderQty])

A képlet részletes leírását az EARLIER függvény című témakörben találja.

Röviden, az EARLIER függvény az aktuális műveletet megelőző művelet sorkörnyezetét tárolja. A függvény minden alkalommal két kontextuskészletet tárol a memóriában: az egyik környezet a képlet belső ciklusának aktuális sorát, a másik pedig a képlet külső ciklusának aktuális sorát jelöli. A DAX automatikusan betáplálta az értékeket a két hurok között, így összetett összesítéseket hozhat létre.

Vissza a lap tetejére

Lekérdezési környezet

A lekérdezési környezet a képlethez implicit módon lekért adatok részhalmazára utal. Amikor egy mértéket vagy más értékmezőt egy cellába helyez egy kimutatásban, a Power Pivot motor megvizsgálja a sor- és oszlopfejléceket, a szeletelőket és a jelentésszűrőket a környezet meghatározásához. Ezután Power Pivot végrehajtja a kimutatás egyes celláinak feltöltéséhez szükséges számításokat. A lekért adatkészlet az egyes cellák lekérdezési környezete.

Mivel a környezet a képlet helyétől függően változhat, a képlet eredménye is megváltozhat attól függően, hogy a képletet egy sok csoportosítást és szűrőt tartalmazó kimutatásban, vagy egy szűrők és minimális kontextus nélküli számított oszlopban használja.

Tegyük fel például, hogy létrehoz egy egyszerű képletet, amely összegzi a Sales tábla Profit oszlopában szereplő értékeket:

=SZUM('Értékesítés'[Nyereség])

Ha ezt a képletet a Sales tábla számított oszlopában használja, a képlet eredménye a teljes táblára ugyanaz lesz, mivel a képlet lekérdezési környezete mindig a Sales tábla teljes adatkészlete. Az eredmények minden régióban, minden termékben, minden évben és így tovább nyereséggel fognak rendelkezni.

Általában azonban nem ugyanazt az eredményt több százszor szeretné látni, hanem egy adott évre, egy adott országra vagy régióra, egy adott termékre vagy ezek valamilyen kombinációjára vonatkozó nyereséget, majd a végösszeget.

A kimutatásokban egyszerűen módosítható a környezet oszlop- és sorfejlécek hozzáadásával vagy eltávolításával, valamint szeletelők hozzáadásával vagy eltávolításával. A fentihez hasonló képletet létrehozhat egy mértékben, majd egy kimutatásba helyezheti. Amikor oszlop- vagy sorfejléceket ad hozzá a kimutatáshoz, módosítja azt a lekérdezési környezetet, amelyben a mérték kiértékelése történik. A szeletelési és szűrési műveletek a környezetre is hatással vannak. Ezért a kimutatásban használt képletet a rendszer minden cellához más lekérdezési környezetben értékeli ki.

Vissza a lap tetejére

Szűrőkörnyezet

A szűrőkörnyezet akkor lesz hozzáadva, ha egy képlet argumentumait használva szűrőkorlátozásokat ad meg egy oszlopban vagy táblázatban engedélyezett értékkészlethez. A szűrőkörnyezet más környezetekre, például a sorkörnyezetre vagy a lekérdezési környezetre is vonatkozik.

A kimutatás például a sor- és oszlopfejlécek alapján számítja ki az egyes cellák értékeit a lekérdezési környezet előző szakaszában leírtak szerint. A kimutatáshoz hozzáadott mértékek vagy számított oszlopok között azonban megadhat szűrőkifejezéseket a képlet által használt értékek szabályozásához. Az egyes oszlopok szűrőit szelektíven is törölheti.

A szűrők képleteken belüli létrehozásáról a Szűrőfüggvények című témakörben talál további információt.

A szűrők végösszegek létrehozásához való törlésének egy példájáért tekintse meg az ALL függvényt.

Példák a szűrők képleteken belüli szelektív törlésére és alkalmazására: ALLEXCEPT függvény.

Ezért át kell tekintenie a kimutatásokban használt mértékek vagy képletek definícióját, hogy tisztában legyen a szűrőkörnyezettel a képletek eredményeinek értelmezésekor.

Vissza a lap tetejére

Környezet meghatározása képletekben

Képlet létrehozásakor az Excel Power Pivot először az általános szintaxist ellenőrzi, majd a megadott oszlopok és táblázatok nevét az aktuális környezetben található lehetséges oszlopok és táblázatok alapján ellenőrzi. Ha Power Pivot nem találja a képlet által megadott oszlopokat és táblázatokat, hibaüzenet jelenik meg.

A környezet meghatározása az előző szakaszokban leírtak szerint történik a munkafüzetben elérhető táblák, a táblák közötti kapcsolatok és az alkalmazott szűrők használatával.

Ha például most importált néhány adatot egy új táblába, és nem alkalmazott szűrőket, a tábla teljes oszlopkészlete az aktuális környezet része. Ha több, kapcsolatok által összekapcsolt táblával rendelkezik, és olyan kimutatásban dolgozik, amely oszlopfejlécek hozzáadásával és szeletelők használatával lett szűrve, a környezet tartalmazza a kapcsolódó táblákat és az adatokra vonatkozó szűrőket.

A környezet egy hatékony fogalom, amely megnehezítheti a képletek hibaelhárítását. Azt javasoljuk, hogy kezdjen egyszerű képletekkel és kapcsolatokkal, hogy lássa, hogyan működik a környezet, majd kezdjen kísérletezni az egyszerű képletekkel a kimutatásokban. A következő szakasz néhány példát is tartalmaz arra, hogyan használják a képletek a különböző típusú környezeteket az eredmények dinamikus visszaadására.

Példák a képletek környezetére

  • A RELATED függvény kibővíti az aktuális sor környezetét, hogy értékeket tartalmazzon egy kapcsolódó oszlopban. Ez lehetővé teszi a kereséseket. A jelen témakörben szereplő példa a szűrés és a sorkörnyezet interakcióját mutatja be.

  • A FILTER függvénnyel megadhatja az aktuális környezetben szerepeltetni kívánt sorokat. A jelen témakörben szereplő példák azt is bemutatják, hogyan ágyazhat be szűrőket más összesítéseket végrehajtó függvényekbe.

  • Az ALL függvény egy képleten belül állítja be a kontextust. Segítségével felülbírálhatja a lekérdezési környezet eredményeként alkalmazott szűrőket.

  • Az ALLEXCEPT függvény lehetővé teszi az összes szűrő eltávolítását a megadott szűrők kivételével. Mindkét témakör példákat tartalmaz, amelyek végigvezetik a képletek létrehozásán és az összetett környezetek megértésén.

  • Az EARLIER és az EARLIEST függvény lehetővé teszi, hogy számításokkal végighaladjon a táblákon, miközben egy belső hurokból hivatkozik egy értékre. Ha ismeri a rekurzió fogalmát, valamint a belső és külső hurkokat, értékelni fogja az EARLIER és az EARLIEST függvény által biztosított hatalmat. Ha még nem használta ezeket a fogalmakat, gondosan kövesse a példában szereplő lépéseket, hogy lássa, hogyan használják a belső és külső környezeteket a számításokban.

Vissza a lap tetejére

Hivatkozási integritás

Ez a szakasz a kapcsolatok által összekapcsolt Power Pivot táblák hiányzó értékeivel kapcsolatos speciális fogalmakat ismerteti. Ez a szakasz akkor lehet hasznos, ha több táblázatot és összetett képletet tartalmazó munkafüzettel rendelkezik, és segítségre van szüksége az eredmények megértéséhez.

Ha még nem ismerkedik a relációs adatokkal kapcsolatos fogalmakkal, javasoljuk, hogy először olvassa el a Kapcsolatok áttekintése című bevezető témakört.

Hivatkozási integritás és Power Pivot kapcsolatok

Power Pivot nem követeli meg a hivatkozási integritás kikényszerítését két tábla között egy érvényes kapcsolat definiálásához. Ehelyett egy üres sor jön létre az egy-a-többhöz kapcsolatok "egy" végén, és a kapcsolódó tábla összes nem egyező sorának kezelésére szolgál. Hatékonyan viselkedik külső SQL-illesztésként.

A kimutatásokban, ha a kapcsolat egy oldala szerint csoportosítja az adatokat, a kapcsolat több oldalán lévő nem egyező adatok csoportosítva lesznek, és egy üres sorfejlécet tartalmazó összegekbe kerülnek. Az üres címsor nagyjából megegyezik az "ismeretlen tag" fejlécével.

Az ismeretlen tag ismertetése

Az ismeretlen tag fogalma valószínűleg ismerős, ha többdimenziós adatbázisrendszerekkel, például SQL Server Analysis Services dolgozott. Ha a kifejezés még nem ismert, az alábbi példa bemutatja, hogy mi az ismeretlen tag, és hogyan befolyásolja a számításokat.

Tegyük fel, hogy létrehoz egy számítást, amely az egyes áruházak havi értékesítéseit összegzi, de a Sales tábla egyik oszlopában hiányzik az áruház neve. Mivel a Store és a Sales táblái az áruház nevével vannak összekapcsolva, mi várható a képletben? Hogyan jelenítse meg a kimutatáscsoport, vagy hogyan jelenítse meg azokat az értékesítési adatokat, amelyek nem kapcsolódnak egy meglévő áruházhoz?

Ez a probléma gyakori az adattárházakban, ahol a tényadatok nagy tábláinak logikailag kapcsolódnia kell a dimenziótáblákhoz, amelyek a tények kategorizálásához és kiszámításához használt tárolókról, régiókról és egyéb attribútumokról tartalmaznak információkat. A probléma megoldásához a meglévő entitáshoz nem kapcsolódó új tények ideiglenesen hozzá lesznek rendelve az ismeretlen taghoz. Ezért jelennek meg a nem kapcsolódó tények egy üres fejléc alatti kimutatásban csoportosítva.

Az üres értékek és az üres sor kezelése

Az üres értékek eltérnek az ismeretlen tag számára hozzáadott üres soroktól. Az üres érték egy speciális érték, amely null értékeket, üres sztringeket és egyéb hiányzó értékeket jelöl. További információ az üres értékről és más DAX-adattípusokról: Adattípusok az adatmodellekben.

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.