Környezet a DAX-képletekben

Megjegyzés:  Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja .

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.

Ebben a szakaszban határozza meg, a különböző típusú helyi: sor környezetben, a lekérdezési környezet és szűrőkörnyezet. Megtudhatja, hogyan helyi kiértékelt képletekkel számított oszlopokat és kimutatásokban.

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.

Különböző létezik a környezet: sor környezetben, a lekérdezési környezet és szűrőkörnyezet.

Sorkörnyezet a tekinthető "az aktuális sorhoz." Ha létrehozott egy számított oszlopot, a sorkörnyezet minden egyes sorban szereplő értékek és áll, amely az aktuális sorhoz kapcsolódó oszlop értékeit. Vannak bizonyos függvények (Korábbi és EARLIEST függvény), amely az aktuális sor érték beolvasása, majd adott értéket egy művelet végrehajtása a teljes táblázat fölé közben.

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

Szűrőkörnyezet az értékhalmaz az egyes oszlopok alapján szűrő kényszerek, amely a sor volt alkalmazott vagy a képletben szűrőkifejezések határozzák meg, hogy engedélyezve.

Vissza a lap tetejére

Sorkörnyezet

A számított oszlop képletének hoz létre, ha a képletet az a sorkörnyezet az összes oszlop értékeit tartalmazza az aktuális sor. Ha a táblázat egy másik tábla kapcsolódó, a tartalom is összes értékeket a többi az aktuális sorhoz kapcsolódó.

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])

Ez a képlet részletes ismertetését megtalálja olvassa el a az EARLIER függvénycímű témakört.

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

Szűrőkörnyezet bekerül az oszlop vagy táblázat meghatároz egy képlet az argumentumokkal értékhalmaz vonatkozó szűrő megadása. Szűrőkörnyezet fölött más környezetekre, például a sorkörnyezet, illetve a lekérdezési környezet vonatkozik.

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.

Szűrők képletekben létrehozásával kapcsolatos további tudnivalókért lásd: a Szűrőfüggvények (DAX).

Példa a szűrők végösszegek létrehozni, akkor olvassa el az ALL függvénytörölhető.

Példa a szelektív törlésére és képletekben szűrők alkalmazásával olvassa el a az ALLEXCEPT függvénycímű témakört.

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 Ön a relációs adatok kezelésében, azt javasoljuk, hogy a, először 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

Üres értékek különböznek az üres sorok bekerülnek az ismeretlen tagok igazodik. Üres érték speciális érték, amely a NULL értékek, üres karakterláncok és más hiányzó értékek megjelenítésére szolgál. Az üres értéket, valamint egyéb DAX adattípusai kapcsolatos további tudnivalókért olvassa el az adattípusok az adatmodellekbencímű témakört.

Vissza a lap tetejére

Office-jártasság 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.

×