A környezet lehetővé teszi dinamikus elemzést, amelyben a képletek eredménye az aktuális sor vagy cellakijelölésnek, valamint az esetleges kapcsolódó adatoknak megfelelően megváltozhat. A környezet ismerete és a környezet hatékony használata nagyon fontos a hatékony képletek készítése, a dinamikus elemzés és a képletek problémáinak megoldása érdekében.

Ez a szakasz a különféle környezettípusokat határozza meg: sorkörnyezetet, lekérdezéskörnyezetet és szűrőkörnyezetet. Ebből a cikkből megtudhatja, hogy miként történik a környezet kiértékelése a számított oszlopokban és a kimutatásokban lévő képletek környezetében.

A cikk utolsó része olyan részletes példákra mutató hivatkozásokat tartalmaz, amelyek bemutatják, hogy a képletek eredménye hogyan változik környezet szerint.

A környezet ismertetése

A kimutatásban Power Pivot, a táblázatok közötti kapcsolatok, valamint a képletekben használt szűrők hatással lehetnek a kimutatásban alkalmazott szűrőkre. A környezet az, ami lehetővé teszi a dinamikus elemzés elvégzését. A környezet megértése fontos a képletek kiépítése és hibaelhárítása során.

Különböző típusú környezet létezik: sorkörnyezet, lekérdezéskörnyezet és szűrési környezet.

A sorkörnyezetre az "aktuális sor" szó lehet. Ha számított oszlopot hozott létre, 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ényekis (KORÁBBI és LEGKORÁBBI),amelyek az aktuális sorból kapják az értéket, majd ezt az értéket használják egy művelet végrehajtása során egy teljes táblázaton keresztül.

A lekérdezéskörnyezet az adatoknak arra az alkészletére utal, amely implicit módon jön létre a kimutatás egyes celláihoz a sor- és oszlopfejlécek függvényében.

A szűrőkörnyezet az egyes oszlopokban engedélyezett értékek halmaza a sorra alkalmazott vagy a képletben szűrőkifejezésekkel definiált szűrők alapján.

Vissza a lap tetejére

Sorkörnyezet

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

Tegyük fel például, hogy létrehoz egy =[Fuvardíj] + [Adó] számított oszlopot,

, amely ugyanannak a táblázatnak két oszlopát tartalmazza. Ez a képlet a táblázatban lévő képletek Excel, amelyek automatikusan hivatkoznak az ugyanazon sorból származó értékekre. Felhívjuk a figyelmét arra, hogy a táblázatok különböznek a tartományoktól: tartományhivatkozással nem hivatkozhat az aktuális sor előtti sorból származó értékre, és nem hivatkozhat egyetlen tetszőleges értékre sem 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 az aktuális sorhoz társítva.

A következő képlet például a RELATED függvénnyel lekér egy adózási értéket egy kapcsolódó táblából annak a régiónak megfelelően, amelybe a rendelést kiszállították. Az adózási érték az aktuális tábla régióértékével határozható meg, a kapcsolódó táblában keresi a régiót, majd a kapcsolódó táblából kiveszi az adott régió adókulcsát.

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

Ez a képlet egyszerűen az aktuális régió adókulcsát kapja meg a Régió táblázatból. Nem szükséges adatokat megadnia, és nem kell megadnia a táblákat kötő kulcsot.

Többsoros környezet

A DAX ezenkívül függvényeket is tartalmaz, amelyek számításokat iterálnak egy táblázaton keresztül. Ezek a függvények több aktuális sort és aktuális sorkörnyezetet is tartalmaznak. Programozási kifejezésekben 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 Termékek és egy Értékesítés táblát. Érdemes végigmenni a teljes értékesítési táblán, amely több terméket érintő tranzakciókat tartalmaz, és megkeresi az egyes termékekhez rendelt legnagyobb mennyiséget egy tranzakcióban.

A Excel számításhoz köztes összegzések sorozatát kell összefésülni, amelyeket az adatok megváltozása esetén újra kellene építeni. Ha Ön a power user of Excel, you might be builds array formulas that would do the job. Másik lehetőségként relációs adatbázisokban is írhat beágyazott rész kijelölését.

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

=MAXX(SZŰRŐ(Értékesítés;[ProdKey]=EARLIER([ProdKey])),Értékesítés[Rendelésnégyzet])

A képlet részletes útmutatóját a KORÁBBAN függvényben láthatja.

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

Vissza a lap tetejére

Lekérdezéskörnyezet

A lekérdezéskörnyezet az adatoknak az egy képlethez implicit módon lekért részkészletére hivatkozik. Amikor egy mértéket vagy más értékmezőt ad egy cellába a 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 a kimutatás egyes celláinak feltöltéséhez szükséges számításokat. A lekért adathalmaz 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 attól függően is változik, hogy a képletet sok csoportosítást és szűrőt tartalmazó kimutatásban, illetve szűrők és minimális környezet nélkül számított oszlopban használja-e.

Tegyük fel például, hogy létrehoz egy egyszerű képletet, amely összegző értékeket ad a Forgalom tábla Nyereség oszlopában:=SZUM('Értékesítés'[Nyereség]).

Ha ezt a képletet egy számított oszlopban használja az Értékesítés táblában, a képlet eredménye megegyezik a teljes táblázatra vonatkozóan, mivel a képlet lekérdezési környezete mindig az Értékesítés tábla teljes adatkészlete. Az eredmények minden régióra, termékre, minden évre és így tovább nyereséget fognak tartalmazni.

Általában azonban nem szeretné több száz alkalommal ugyanazt az eredményt 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 szeretne kapni, majd végösszeget szeretne kapni.

A kimutatások környezete könnyen megváltoztatható 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. Létrehozhat egy, a fentihez hasonló képletet egy mértékben, majd behozhatja egy kimutatásba. Minden alkalommal, amikor oszlop- vagy sorfejléceket ad a kimutatáshoz, megváltoztatja a lekérdezés környezetét, amelyben a mérték kiértékelésre található. A licencelési és szűrési műveletek a környezetre is hatással vannak. Ezért a program a kimutatásban használt képletet minden cellára 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 adódik meg, ha egy oszlopban vagy táblázatban engedélyezett értékekre szűrőkorlátokat ad meg egy képlet argumentumai használatával. A szűrési környezet más környezetek, például sor- vagy lekérdezéskörnyezetek tetején érvényes.

A kimutatás például kiszámolja az egyes cellák értékeit a sor- és oszlopfejlécek alapján, a lekérdezés környezetének előző szakaszában leírtak szerint. A kimutatáshoz adott measures vagy számított oszlopokon belül azonban megadhat szűrőkifejezéseket a képlet által használt értékek szabályozása érdekében. Szelektíven is törölhet szűrőket adott oszlopokon.

A szűrők képletekben való létrehozásáról a Szűrő függvények ( ) nyújt tájékoztatást.

A szűrők végösszegek létrehozására használható szűrőkre vonatkozó példa az ALL (ALL)

A szűrők képleten belüli szelektív törlésének és alkalmazásának példáit lásd az ALLEXCEPT függvényben.

Ezért a képletek eredményeinek értelmezésekor át kell vizsgálnia a kimutatásban használt intézkedések vagy képletek definícióját, hogy tisztában legyen a szűrési környezettel.

Vissza a lap tetejére

Környezet meghatározása képletekben

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

A környezet meghatározása az előző szakaszokban ismertetett módon, a munkafüzetben rendelkezésre álló táblázatok, a táblák közötti kapcsolatok és az alkalmazott szűrők alapján határozható meg.

Ha például éppen most importált néhány adatot egy új táblába, és nem alkalmazott szűrőket, a táblázatban lévő oszlopok teljes halmaza az aktuális környezet része lesz. Ha több, kapcsolatok által csatolt táblázata van, és olyan kimutatásban dolgozik, amelyet oszlopfejlécek hozzáadásával és szeletelők használatával szűrt, a környezet tartalmazza a kapcsolódó táblákat és az adatokon alkalmazott szűrőket.

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

Példák a képletek környezetének használatára

  • A RELATED függvény kibővíti az aktuális sor környezetét, hogy egy kapcsolódó oszlop értékeit is tartalmazza. Ez lehetővé teszi keresések elvégzését. A témakörben látható példa a szűrés és a sorkörnyezet kölcsönhatását szemlélteti.

  • A SZŰRŐ függvény lehetővé teszi az aktuális környezetben szerepeletni kívánt sorok megadását. A témakörben található példák azt is bemutatják, hogy miként ágyazhat be szűrőket más aggregátumokat végző függvényekbe.

  • Az ALL függvény egy képleten belül határozza meg a kontextust. Segítségével felülbírálhatja a lekérdezéskö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örben találhatók olyan példák, amelyek végigmennek a képletek megépítésében és az összetett környezetek megértésében.

  • A KORÁBBI és a LEGKORÁBBI függvény segítségével számításokat végezhet, miközben egy belső hurokból hivatkozik egy értékre. Ha ismeri az rekurzió fogalmát és belső és külső hurkokat, értékelni fogja a KORÁBBI és az LEGKORÁBBI függvény által elérhető teljesítményt. Ha még nem használta ezeket a fogalmakat, a példában található lépéseket gondosan kell követnie, hogy lássa, hogyan használják a belső és a 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 hiányzó értékekkel kapcsolatos speciális fogalmakat ismerteti. Ez a szakasz hasznos lehet, ha több táblázatot és összetett képleteket tartalmazó munkafüzeteket tartalmaz, és segítségre van szüksége az eredmények megértéséhez.

Ha még nem volt még új a relációsadat-fogalmakban, javasoljuk, hogy olvassa el a bevezető témakört, a Kapcsolatok áttekintése témakört.

Hivatkozási integritás és Power Pivot kapcsolatok

Power Pivot a hivatkozási integritás kényszerítését nem szükséges két tábla között érvényes kapcsolat meghatározásához. Ehelyett a kapcsolat "egy" végén létrejön egy üres sor, amely a kapcsolódó tábla összes nem egyező sorát kezeli. Ez a külső illesztés hatékonyan SQL működik.

Ha a kimutatásban a kapcsolat egyik oldala szerint csoportosítja az adatokat, a kapcsolat több oldalán lévő nem egyező adatok egy csoportba lesznek csoportosítva, és egy üres sorfejlécben szerepelnek az összegekben. Az üres címsor nagyjából megfelel az "ismeretlen tagnak".

Az Ismeretlen tag ismertetése

Az ismeretlen tag fogalma valószínűleg ismerős Önnek, ha már dolgozott többdimenziós adatbázisrendszerekkel, például a SQL Server Analysis Services szolgáltatásokkal. Ha a kifejezés új Önnek, az alábbi példa bemutatja, hogy mi az ismeretlen tag, és milyen hatással van a számításokra.

Tegyük fel, hogy olyan számítást hoz létre, amely az egyes áruházak havi értékesítését összegi, de az Értékesítés tábla egyik oszlopában hiányzik egy érték a store nevéhez. Mivel az Áruház és az Értékesítés tábla a store neve szerint van összekapcsolva, mi történik a képletben? Hogyan csoportosítja vagy jeleníti meg a kimutatás a meglévő üzlethez nem kapcsolódó értékesítési számokat?

Ez a probléma gyakori az adat raktárakban, ahol a nagy adattábláknak logikailag kapcsolatban kell álluk az üzletekkel, régiókkal és egyéb attribútumokkal kapcsolatos információkat tartalmazó dimenziótáblákkal, amelyek a tényeket kategorizálják és számítják ki. A probléma megoldásához a rendszer ideiglenesen hozzárendeli az ismeretlen taghoz az összes olyan új tényet, amely nem kapcsolódik meglévő entitáshoz. Ezért jelennek meg a nem kapcsolódó adatok egy üres címsor alatt egy kimutatásban.

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

Az üres értékek különböznek 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 karakterláncokat és egyéb hiányzó értékeket képvisel. Az üres értékről és a többi DAX-adattípusról további információt az Adattípusok azadatmodellekben (adatmodellek)

Vissza a lap tetejére

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

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Csatlakozás a Microsoft Insiderek

Hasznos volt az információ?

Mennyire elégedett a fordítás minőségével?
Mi befolyásolta a felhasználói élményét?

Köszönjük visszajelzését!

×