Iteráló függvények használata a DAX-ban

Valahányszor LuckyTemplates-tagokkal dolgozom a fórumon, némi zavart tapasztaltam a DAX iterációs funkcióival kapcsolatban. Ezért áttekintjük, mit lehet elérni ezekkel a funkciókkal, és miért érdemes használni őket. Az oktatóanyag teljes videóját a blog alján tekintheti meg.

Ahogy egyre jobban megismeri a DAX képleteket, sokkal többet fogja használni ezeket az iterációs függvényeket, mint gondolná. Sokkal sokoldalúbbak, mint az olyan egyszerű összesítő függvények, mint a SUM vagy AVERAGE .

Van itt néhány példa, és szeretném végigdolgozni a példák logikáját, hogy nagyon jól megérthesd, mi történik valójában, ha a logikát ezeken a képleteken keresztül futtatják.

A függvények iterációjának kulcsa az, hogy valamit iterálnak.

Tartalomjegyzék

Egyszerű iteráció SUMX használatával

Iteráló függvények használata a DAX-ban

Ebben az esetben szeretnék összegezni valamit, de végig akarok ismételni ennek az értékesítési táblázatnak minden egyes sorát.

Iteráló függvények használata a DAX-ban

Aztán minden egyes sorban ezt a sajátos logikát akarom itt futtatni.

Iteráló függvények használata a DAX-ban

Gyorsan ugorjunk a nagyon egyszerű értékesítési táblázatunkhoz, ahol minden egyes sorban szeretnék némi logikát futtatni. És akkor meg akarom szorozni a mennyiséget az árral.

Iteráló függvények használata a DAX-ban

Az ár nem szerepel ebben a táblázatban. És ennél a konkrét modellnél ez valójában a Termék táblázatban található.

Iteráló függvények használata a DAX-ban

A következő dolgom, hogy visszanyúljak a Terméktáblázathoz, és ezt megtehetem a RELATED segítségével . Amikor a mennyiséget a vonatkozó ár szorzatával számoljuk, ezt minden egyes sornál megtesszük. Pontosan ez történik ebben a képletben.

Ezek azok a kulcsfogalmak, amelyeket meg kell jegyeznünk, amikor haladóbb dolgokat kezdünk.

Alternatív megközelítés a SUMX használatával történő értékesítéshez

Iteráló függvények használata a DAX-ban

Ebben a példában nekem vanismételje meg az Értékesítési táblázatot. Tehát ezt a logikát minden egyes sorban futtatjuk, és minden egyes sorban kiszámoljuk a mennyiséget és az árakat, majd összesítjük, miután az összes iteráció megtörtént.

Iteráló függvények használata a DAX-ban

Itt látni fogja, hogy ez az eredmény pontosan megegyezik az első példa (SUMX oktatóanyag 2) vagy a teljes értékesítés eredményeivel.

Sokféle dolgot elhelyezhet ide – lehet mértékegység, és elágazhat egy iteráló funkcióval. Nem kell konkrét oszlopokra hivatkoznia a számítások helyes elvégzéséhez.

Iteráló függvények használata a DAX-ban

Amint itt látható, mindössze annyit tettem, hogy ide helyeztem egy mértéket (Összes értékesítés), és pontosan ugyanazt az eredményt kapom.

SUMX és logikai függvények

Iteráló függvények használata a DAX-ban

Itt a SUMX-et használom , de ez is releváns, MINX és MAXX . Ezek mind nagyon hasonló dolgok.

Egy másik fontos dolog, amit meg kell jegyezni ezekkel az iterációs függvényekkel , hogy minden egyes sorban logikát futtatnak, és az eredményt a memóriába menti.

Miután az összes értéket elmentette a memóriába, megtörténik az átfogó számítás – például egy SUM vagy AVERAGE .

Iteráló függvények használata a DAX-ban

Visszatérve példánkhoz, itt láthatja, hogy ebben az oszlopban az összeg valamivel kevesebb, mint az előző oszlopokban.

Iteráló függvények használata a DAX-ban

A SUMX iterációs funkcióval az Értékesítési táblázat minden egyes sorát végig akarom ismételni. És minden egyes sorban szeretném kiszámolni, hogy az adott eladás nagyobb-e 2000 dollárnál. Ha igen, akkor szeretném kiszámítani az adott sor összértékesítését. De ha az eladás teljes összege kevesebb, mint 2000 dollár, akkor nullát akarok visszaadni. Tehát csak a nagyobb értékű eladásokat szeretném kiszámolni.

Vannak, akik azt javasolják, hogy a logikát egy számított oszlopba helyezhetném. De ezt nem akarjuk megtenni, mert van egy sokkal jobb módja ennek a logikának a DAX-on belüli futtatására, ahelyett, hogy fizikailag egy oszlopba helyeznénk.

Iteráció táblázatokon keresztül

Ez az, ahol az iterációs funkciók komolyan elképesztőek. Nemcsak egy fizikai táblán keresztül iterálhat, mint korábban, hanem egy másik virtuális táblán is, amelyet paraméterként ad meg.

Iteráló függvények használata a DAX-ban

Úgy gondoljuk, hogy itt minden egyes eredménynek sajátos kontextusa van. Ebben a konkrét esetben megvan az ügyfélkörnyezet.

Iteráló függvények használata a DAX-ban

Ebben az összefüggésben minden egyes helyet szeretnék végigjárni, és látni szeretném, hogy egy adott ügyfél elérte-e az 5000 USD feletti eladásokat.

Ha igen, ki akarom számítani a teljes értékesítést. De ha nem, akkor azt akarom, hogy nullát adjon vissza.

Iteráló függvények használata a DAX-ban

Tehát ebben a konkrét esetben kiszámolom azokat a nagy értékű helyeket, ahol ez az ügyfél vásárol, és az összes eladást, amelyet ezeken a helyeken hajtanak végre.

Iteráló függvények használata a DAX-ban

Mititt csinál egy virtuális táblát. Tehát a SUMX itt nem is dolgozik semmin. Valójában valamin dolgozik, ami teljesen virtuális.

Egyszerű iteráció a MINX használatával

Iter��ló függvények használata a DAX-ban

Ez hasonló az előző példákhoz, de a SUMX helyett valamilyen más típusú összesítést fogunk futtatni, miután minden egyes sort végigjárunk.

Iteráló függvények használata a DAX-ban

Ebben a konkrét esetben minden egyes ügyfélnél minden egyes helyet átírunk, és kiszámoljuk az egyes helyszínek teljes értékesítését.

Iteráló függvények használata a DAX-ban

Ezután a vásárlás helyének minimális összegét szeretnénk visszaküldeni.

Egyszerű iteráció a MAXX használatával

Iteráló függvények használata a DAX-ban

Hasonló dolgot csinálok itt is, hogy megmutassam az iterációs funkciók sokoldalúságát. Minden egyes helyszínt átnézek, megnézem az eladásaikat, de utána visszaadom az adott hely eladásainak maximumát, ezért itt magasabb számokat látunk.

Következtetés

A legfontosabb dolog, amit ebben a cikkben szerettem volna érinteni, az az iterációs függvényen belüli opciók skálája, szemben az egyszerű összeggel vagy átlaggal.

Miután elkezdett elmélyülni az összetettebb számításokban, látni fogja, mennyire fontosak ezek a függvények az értékek kontextusszintű visszaadásához.

Annyi sokoldalúság és sokféle módszer létezik, hogy ezeket a számításokat egy egyszerű képlet segítségével futtathatja, ha csak tudja, hogyan kell módosítani a paramétereket.

Ha tetszett az iterációs funkciók megismerése , böngészheti az alábbi linkeket, hogy további információkat kapjon a témáról:

Kulcsfogalmak a LuckyTemplates függvények iterálásához

Logika iterálása virtuális táblákon keresztül – Fejlett DAX-fogalmak a LuckyTemplates-ben

Élvezze a munkát ezen.


A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

LuckyTemplates táblázatok létrehozása UNION & ROW függvény használatával

Ebben a blogban megmutatom, hogyan hozhat létre LuckyTemplates táblázatokat olyan képlet segítségével, amely egyesíti az UNION és a ROW függvényt.