Környezet a DAX-képletekben

Fontos : Ez a cikk gépi fordítással lett lefordítva, lásd a jognyilatkozatot. A cikk angol változatát itt találhatja meg.

A környezet lehetővé teszi dinamikus elemzések elvégzését, amelyek során egy képlet eredménye úgy változhat, hogy tükrözze az aktuálisan kijelölt sort vagy cellát, valamint az esetleges kapcsolódó adatokat. A környezet működésének és hatékony alkalmazásának ismerete nagyon fontos szerepet játszik a nagy teljesítményű képletek és dinamikus elemzések elkészítésében, illetve a képletekkel kapcsolatos problémák elhárításában.

Ez a szakasz meghatározást nyújt a különböző környezettípusokról: sorkörnyezet, lekérdezési környezet és szűrőkörnyezet. Bemutatja, hogyan történik a környezet kiértékelése a kimutatásokban és számított oszlopokban található képletek esetén.

A cikk utolsó részében hivatkozásokat találhat olyan részletes példákra, amelyek bemutatják, hogy a képletek eredményei miképp változnak a környezettől függően.

A környezet ismertetése

Kimutatásadatok alkalmazott szűrők, táblák közötti kapcsolatok, és a szűrők képletekben használt által Power Pivot képletek hatással lehet. Helyi, mit lehetővé teszi a dinamikus elemzést végezhet. A környezet ismertetése az épület és a képlethibák kijavítása fontos.

Többféle környezettípus is létezik: sorkörnyezet, lekérdezési környezet és szűrőkörnyezet.

A sorkörnyezetet úgy lehet elképzelni, mint „az aktuális sort”. Számított oszlop létrehozásánál a sorkörnyezet az egyes sorok értékeiből, és az aktuális sorhoz kapcsolódó oszlopok értékeiből áll. Léteznek olyan függvények (EARLIER függvény és EARLIEST függvény), amelyek az aktuális sor értékét felhasználják egy, az egész táblázatra vonatkozó művelet végrehajtása során.

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

A szűrőkörnyezet az egyes oszlopokban engedélyezett, azon szűrési megkötéseken alapuló értékkészlet, amelyeket alkalmaztak a sorra, vagy amelyek a képleten belüli szűrőkifejezések által vannak definiálva.

Vissza a lap tetejére

Sorkörnyezet

Ha létrehoz egy képletet egy számított oszlopban, a képlethez tartozó sorkörnyezet tartalmazza az aktuális sor összes oszlopának értékét. Ha a tábla kapcsolódik egy másik táblához, akkor a környezet tartalmazza a másik tábla összes olyan értékét is, amely kapcsolódik az aktuális sorhoz.

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

, amely összead két, ugyanabban a táblázatban található oszlopot. Ez a képlet úgy működik, mint azok a képletek az Excel-táblázatokban, amelyek automatikusan ugyanabban a sorban levő értékekre hivatkoznak. Ne feledje, hogy a táblák eltérnek a tartományoktól: tartományi jelölésmóddal nem hivatkozhat az aktuális sor előtti sorban levő értékre, és nem hivatkozhat egy táblázatban vagy cellában levő tetszőleges értékre sem. Mindig táblázatokat és oszlopokat kell használnia.

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.

A következő képlet például a RELATED függvényt használja az adó értékének egy kapcsolódó táblából való beolvasásához, azon régió alapján, ahová a megrendelést kiszállították. Az adó értékének meghatározása úgy történik, hogy a program veszi a régióhoz tartozó értéket az aktuális táblában, kikeresi a régiót a kapcsolódó táblában, majd beolvassa az adott régióhoz tartozó adómértéket a kapcsolódó táblából.

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

Ez a képlet egyszerűen beolvassa az aktuális régióhoz tartozó adómértéket a Region táblából. Nem kell ismernie vagy megadnia a táblákat összekapcsoló kulcsot.

Többszörös sorkörnyezet

A fentieken kívül a DAX olyan függvényeket is biztosít, amelyek egy táblára vonatkozó számításokon végeznek iterációt. Ezek a függvények több aktuális sorral és aktuális sorkörnyezettel rendelkezhetnek. Programozási szemszögből nézve elmondhatjuk, hogy olyan képleteket hozhat létre, amelyek egy belső és egy külső ciklusban egyaránt végeznek iterációt.

Tegyük fel, hogy a munkafüzet tartalmaz, a termékek tábla és egy értékesítési táblázat. Szeretné, hogy feldolgozzuk a teljes értékesítési táblázat, amely magában foglaló több termék tranzakciók teljes, előfordulhat, hogy, és keresse meg a legnagyobb mennyiség minden termékének tranzakciók bármelyike rendezve.

Az Excel programban ehhez a számításhoz több közbenső összesítés sorozatára volna szükség, amelyeket az adatok módosulása esetén újból össze kellene állítania. Ha nagy tapasztalata van az Excel használata terén, akkor esetleg készíthet olyan tömbképleteket, amelyek elvégzik a számítást. Relációs adatbázis használata esetén pedig írhat egymásba ágyazott részkiválasztási utasításokat.

A DAX segítségével azonban készíthet egyetlen képletet, amely a helyes értéket adja vissza, és az eredmények automatikusan frissülnek, valahányszor adatokat vesz fel a táblázatokba.

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

A képlet részletes ismertetését a következő témakör tartalmazza: EARLIER függvény.

Röviden, az EARLIER függvény tárolja az aktuális műveletet megelőző művelet sorkörnyezetét. A függvény minden időpillanatban két környezeti halmazt tárol a memóriában: az egyik környezeti halmaz a képlet belső ciklusának aktuális sorát jelképezi, a másik környezeti halmaz pedig a képlet külső ciklusának aktuális sorát jelképezi. A DAX automatikusan továbbítja az értékeket a két ciklus között, így összetett összesítések hozhatók létre.

Vissza a lap tetejére

Lekérdezési környezet

Lekérdezési környezet az adatok implicit módon jelennek meg a letöltött képlet hivatkozik. Amikor Leválaszt egy mértéket vagy más értékmező kimutatásban egy cellába, a Power Pivot motor megvizsgálja a sor-és és a jelentésszűrők a környezet meghatározása. Ezután Power Pivot végzi el a szükséges számításokat, a kimutatás minden egyes cellájához kitöltéséhez. Az adatok jelennek meg a letöltött lesz a lekérdezési környezet az egyes cellák.

A környezet attól függően változhat, hogy hol helyezi el a képletet, ezért a képlet eredményei is változnak attól függően, hogy a képletet egy kimutatásban használja sok csoportosítással és szűrővel együtt, illetve egy számított oszlopban, szűrők nélkül, minimális környezettel.

Tegyük fel, hogy ez egyszerű képlet, amely az értékeket az Értékesítés table:=SUM('Sales'[Profit]) Profit oszlopában összegzi.

Ha ezt a képletet a számított oszlop az Értékesítés táblában használja, a képlet eredményét lesz azonos a teljes táblázatot, mivel a képlet a lekérdezési környezet mindig a teljes adatkészletet, az Értékesítés táblában Az eredmények lesz profit összes régió, az összes termék, minden év, és így tovább.

Általában azonban nem kíváncsi ugyanarra az eredményre több száz példányban, hanem egy adott évre, egy adott országra vagy régióra, egy adott termékre vagy ezek valamely kombinációjára vonatkozóan kívánja megjeleníteni a nyereséget, majd kiszámítani a végösszeget.

A kimutatásban nagyon egyszerűen hozzáadásával és eltávolításával oszlop- és sorfejlécek és hozzáadásával és eltávolításával szeletelők módosítása a környezetben. Hozzon létre az alábbiaknak fölött, egy mértéket a képletet, és majd ejtse oda kimutatás. Oszlopok felvétele a kimutatásba, amikor módosítja a lekérdezési környezet, amelyben a mérték kiértékelt. Szeletelés és -szűrés műveleteket is befolyásolja a környezetben. Ezért a rendszer ugyanazt a képletet egy kimutatásban használt kiértékeli egy másik lekérdezési környezet az egyes cellák.

Vissza a lap tetejére

Szűrőkörnyezet

A szűrőkörnyezet akkor lesz felvéve, ha egy oszlopban vagy táblázatban megengedett értékek halmazára vonatkozó szűrési megkötéseket határoz meg egy képlet argumentumainak használatával. A szűrőkörnyezet magasabb szinten kerül alkalmazásra mint a többi környezet, például a sorkörnyezet vagy a lekérdezési környezet.

Kimutatás például az a sor- és oszlopazonosítók a lekérdezési környezet az előző szakaszban leírtak alapján az egyes cellák értékeit számítja ki. A mértékek vagy számított oszlopok felvétele a kimutatásba, megadhatja szűrőkifejezések szabályozhatja az értékeket, a képlet által használt. Adott oszlopok szűrőinek egyenként is törölheti a jelet.

További információ a szűrők képletekben való létrehozásáról: Szűrőfüggvények (DAX).

Példa a szűrők törlésére és így végösszegek létrehozására: ALL függvény.

Példák a szűrők szelektív módon történő törlésére és képletekben való alkalmazására: ALLEXCEPT függvény.

Ezért tekintse át a mértékek vagy a kimutatásban használják, hogy a képletek eredményeinek értelmezésekor tisztában legyen a szűrőkörnyezettel Ön képletek definícióját.

Vissza a lap tetejére

Környezet megállapítása a képletekben

Egy képlet létrehozásakor az Excel programhoz készült Power Pivot először ellenőrzi az általános szintaxist, majd összeveti az Ön által megadott oszlop- és táblázatneveket azokkal az oszlop- és táblázatnevekkel, amelyek előfordulhatnak az aktuális környezetben. Ha a Power Pivot nem találja a képlet által megadott oszlopokat vagy táblázatokat, hibaüzenet jelenik meg.

A környezet meghatározása az előző szakaszokban ismertetett módon történik a munkafüzetben elérhető táblázatok, az alapul szolgáló táblák közötti kapcsolatok, illetve az esetlegesen alkalmazott szűrők figyelembe vételével.

Ha például új táblázatba importált adatokat, és nem alkalmazott szűrőket, akkor a táblázatban szereplő összes oszlop az aktuális környezet részét képezi. Ha több, egymással kapcsolatban álló táblázata van, és olyan kimutatással dolgozik, amely oszlopfejlécek hozzáadásával és szeletelők használatával szűrve lett, akkor a környezet tartalmazza a kapcsolódó táblázatokat, valamint az adatokra esetleg alkalmazott szűrőket.

A környezet egy nagyon hatékonyan alkalmazható fogalom, amely azonban megnehezítheti a képletekkel kapcsolatos hibaelhárítást. Ezért azt javasoljuk, hogy a környezet működésének megértéséhez egyszerű képletekkel és kapcsolatokkal kezdje a munkát, majd kezdjen kísérletezni az egyszerű képletek kimutatásokban való használatával. A következő szakaszban ismertetett példák azt is szemléltetik, hogy a képletek hogyan használják a különböző típusú környezeteket az eredmények dinamikus visszaadásához.

Példák képletekben használt környezetekre

  • A RELATED függvény kiterjeszti az aktuális sor környezetét egy kapcsolódó oszlop értékeire. Ezzel értékkeresést hajthat végre. A jelen témakörben található példa bemutatja a szűrés és a sorkörnyezet közötti együttműködést.

  • A FILTER függvénnyel megadható, hogy mely sorok tartozzanak az aktuális környezetbe. A jelen témakörben található példák azt is bemutatják, hogyan lehet szűrőket beágyazni a többi, összesítést végző függvénybe.

  • Az ALL függvény meghatározza a környezetet a képleten belül. Használatával felülbírálhatók az olyan szűrők, amelyek a lekérdezési környezet eredményeképpen lettek alkalmazva.

  • Az ALLEXCEPT függvénnyel eltávolíthatja az összes szűrőt, annak az egynek a kivételével, amelyet Ön meghatároz. Mindkét témakör tartalmaz olyan példákat, amelyek végigvezetik a képletek készítésén és az összetett környezetek megismerésén.

  • Az EARLIER és az EARLIEST függvénnyel ciklusok hozhatók létre a táblázatokon végzett számításokban, miközben hivatkozhat egy belső ciklus értékére is. Ha ismeri a rekurzió fogalmát, valamint a belső és külső ciklusokat, akkor értékelni fogja az EARLIER és az EARLIEST függvény hatékonyságát. Ha ezek a fogalmak újak az Ön számára, akkor gondosan kövesse a példában ismertetett lépéseket, amelyekből kiderül, hogy a számítások során hogyan használhatók a belső és külső környezetek.

Vissza a lap tetejére

Hivatkozási integritás

Ez a szakasz a kapcsolatokkal összekötött Power Pivot-táblázatokban hiányzó értékekkel kapcsolatos speciális fogalmakat ismerteti. Ez a szakasz akkor lehet hasznos, ha létrehozott néhány többtáblázatos munkafüzetet és összetett képletet, és segítségre van szüksége az eredmények értelmezéséhez.

Ha nem járatos a relációs adatok kezelésében, olvassa el a bevezető témakört: Kapcsolatok áttekintése.

Hivatkozási integritás és a Power Pivot beépülő modulban használt kapcsolatok

A Power Pivot egy érvényes kapcsolat meghatározásához nem igényli a két táblázat közötti hivatkozási integritás kikényszerítését. Ehelyett egy üres sort hoz létre minden egyes „egy a többhöz” kapcsolat „egy” oldalán, és ezt használja a kapcsolódó táblázatból származó nem egyező sorok kezeléséhez, azaz úgy viselkedik, mint egy SQL külső illesztés.

A kimutatásokban, ha az adatokat a kapcsolat „egy” oldalán csoportosítja, bármely nem egyező adat a kapcsolat „több” oldalán egy közös csoportba kerül, és az összegekben üres sorfejlécként jelenik meg. Az üres fejléc körülbelül egyenértékű az „ismeretlen taggal”.

Az ismeretlen tagok

Az ismeretlen tag fogalma minden bizonnyal ismerős az Ön számára, ha korábban már használt többdimenziós adatbázisrendszereket, például az SQL Server Analysis Services szolgáltatást. Ha eddig még nem találkozott ezzel a kifejezéssel, a következő példából megtudhatja, mit jelent az ismeretlen tag, és milyen hatást gyakorol a számításokra.

Tegyük fel, hogy hoz létre, amely az egyes áruházból havi értékesítési összesít számítást, de az értékesítési táblázatban levő oszlophoz hiányzik egy értéket a tár nevére. Tekintve, hogy a táblákat, tárolása és az Értékesítés kapcsolódik a tár nevét, mit szeretne várhatóan fordulhat elő, a képlet? Hogyan kell a kimutatás és a forgalmi érték, amelyek nem egy meglévő áruházból való megjelenítése a csoport?

Ez egy gyakran előforduló probléma olyan adatraktáraknál, amelyeknél tényadatokat tartalmazó nagy táblákat kell logikai módon hozzákapcsolni olyan dimenziótáblákhoz, amelyek üzletekkel, régiókkal és a tényadatok kategorizálására és kiszámítására használt egyéb attribútumokkal kapcsolatos információkat foglalnak magukban. A probléma megoldása érdekében a meglévő entitáshoz nem kapcsolódó, új tényadatokat ideiglenesen hozzárendelik az ismeretlen taghoz. Ezért jelennek meg a nem kapcsolódó tényadatok egy kimutatásban egy üres fejléc alatt csoportosítva.

Különbségek az üres értékek és az üres sor kezelése között

Az üres értékek eltérnek az ismeretlen tag számára felvett üres soroktól. Az üres érték egy különleges érték, amelyet a rendszer null értékek, üres karakterláncok és egyéb hiányzó értékek jelölésére használ. További információ az üres értékről, valamint más DAX-adattípusokról: Adattípusok az adatmodellekben.

Vissza a lap tetejére

Megjegyzés : Gépi fordítás jognyilatkozata: Ez a cikk számítógép által, emberi közreműködés nélkül lett lefordítva. A Microsoft ezeket a gépi fordításokat azért nyújtja, hogy az angol nyelvet nem beszélők minél több tartalomhoz tudjanak hozzáférni a Microsoft termékeivel, szolgáltatásaival és technológiáival kapcsolatban. A gépi fordítás miatt előfordulhat, hogy a szöveg szóhasználati, szintaktikai vagy helyesírási hibákat tartalmaz.

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

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

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×