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.


Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban

Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.

LuckyTemplates mobil jelentéskészítési tippek és technikák

LuckyTemplates mobil jelentéskészítési tippek és technikák

Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Professzionális szolgáltatáselemzési jelentések LuckyTemplatesben

Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Microsoft Power Platform frissítések | Microsoft Ignite 2021

Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.

Gyakori SQL-függvények: Áttekintés

Gyakori SQL-függvények: Áttekintés

Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.

LuckyTemplates sablonok létrehozása: útmutató és tippek

LuckyTemplates sablonok létrehozása: útmutató és tippek

Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Mezőparaméterek és kis többszörösek a LuckyTemplatesben

Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.

LuckyTemplates rangsor és egyéni csoportosítás

LuckyTemplates rangsor és egyéni csoportosítás

Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

A LuckyTemplatesben csak egy meghatározott dátumig összesített összeg látható

Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Bullet Charts: speciális egyéni látványelemek a LuckyTemplates számára

Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.