Iterátorfüggvények ismertetése

Befejeződött

Mind a számított oszlopok, mind a mértékek olyan környezettel rendelkeznek, amelyen kiértékelik őket. A környezet határozza meg azt a szemcsét, amelyen a számításokat el kell végezni. A környezet megértése és a környezet hatékony használata fontos a nagy teljesítményű képletek létrehozása, a dinamikus elemzések és a képletek hibáinak elhárítása szempontjából.

Mielőtt iterátorfüggvényekről beszélnénk, két fontos környezeti fogalmat kell átvennie: a sorkörnyezetet és a szűrőkörnyezetet.

A sorkörnyezet ismertetése

A sorkörnyezet a szemcsés vagy az aktuális sor; ez az adatok kiértékelésének sorlebontása. Minden iterátorfüggvény kiértékelése sorkörnyezet szerint. A számított oszlopok sorkörnyezet szerint kiértékelhetők – így rendelkeznek oszlopértékekkel minden egyes sorhoz.

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ákban) mely sorok legyenek társítva az aktuális sorhoz.

Nézzük meg például a következő kódot:

ActualSales = Sales * RELATED( Product[Discount] )

Az előző képlet egyszerűen a RELATED függvényt használja az aktuális termék kedvezménydíjának lekéréséhez a Product táblából. Nem kell megadnia a két táblát összekötő mezőt.

A szűrőkörnyezet ismertetése

A szűrőkörnyezet az egyes oszlopokban engedélyezett értékek halmaza a sorra alkalmazott szűrési korlátozások alapján. Ezek úgy is gondolhatók, mint a jelentésre szeletelők vagy interakciók segítségével alkalmazott szűrők.

Tekintsünk meg egy szűrőkörnyezeti példát:

A kiemelt cella szűrőkörnyezettel rendelkezik a 2018-ra vonatkozóan, az állapot az Alabama, a Negyedév pedig az 1. negyedév. A kimutatás bármely más értéke eltérő lesz, mivel az év, az állapot és a negyedév eltérő szűrőkörnyezettel rendelkezik.

Tipp

CORATING TO TABLEAU: How Tableau and Power BI decide to calculate measures are similar; ez az oldalon található adatokon, az alkalmazott szűrőken stb. alapul. A Tableau-számítások környezete leggyakrabban a Részletességi (LOD) kifejezésekhez és a táblaszámításokhoz van társítva.

Iterátorfüggvények ismertetése

Az iterátorfüggvényekről való beszélgetés során a sorkörnyezet fogalmára összpontosít.

Íme egy példa egy egyszerű iterátorfüggvényre:

COGS = SUMX( Sales, RELATED( Product[Wholesale Price]) * Sales[Quantity] )

Az előző képletben ugyanazt a COGS-képletet használja, mint korábban, de a SZUMX iterátor függvénybe burkolja.

  1. A SZUMX függvény első része az iterátortábla, vagy az, hogy milyen szemcseméretet kell kiértékelnie. Ebben a példában az iterátortábla a Sales tábla. A számítás elvégzéséhez ki kell értékelnie a Sales táblák minden sorát.

  2. Ezután létrehoz egy listakimenetet egy ideiglenes táblában.

  3. Végül végrehajtja a függvény elején megadott összesítést.

A környezettel kapcsolatos további információkért lásd: Környezet a DAX-képletekben

A sor- és szűrőkörnyezettel kapcsolatos további információkért lásd: Sorkörnyezet és szűrőkörnyezet a DAX-ban