DAX függvény OSZLOPSTATISZTIKA A LuckyTemplatesben

Szeretném folytatni a COLUMNSTATISTICS() DAX-függvény dinamikus használatának feltárását – egy új, szinte teljesen dokumentálatlan DAX-függvényt, amelyet 2021 augusztusában adtunk hozzá a LuckyTemplates-hez, és van néhány nagyon egyedi aspektusa, amelyeket szerintem nagyon érdekes lesz megismerni. Az oktatóanyag teljes videóját a blog alján tekintheti meg.

Rengeteg kísérletet végeztem, és nagyon érdekes új dolgokat tanultam a funkció működéséről és arról, hogy mit lehet vele kezdeni. Az első blogomban erről a funkcióról beszéltem néhány statikus felhasználásról. Ma a funkció néhány igazán elképesztő dinamikus felhasználásáról fogok beszélni, oly módon, hogy még az IntelliSense sem naprakész.

Tartalomjegyzék

Hogyan működik a DAX függvény COLUMNSTATISTICS

Az adatmodell minden táblájához és mezőjéhez a COLUMNSTATISTICS egy további hat mezőt tartalmazó táblázatot készít, amely tartalmazza a tábla nevét, az oszlop nevét, az oszlop minimális és maximális értékét, számosságát és maximális hosszát. Ez nem tűnik sok adatnak, de sok mindent megtehetsz vele.

DAX függvény OSZLOPSTATISZTIKA A LuckyTemplatesben

A jelenleg használt adatok csak a LuckyTemplates külső eszközök gyakorlati adatkészletei. Ez egy viszonylag egyszerű adatmodell öt dimenziós táblázattal, ténytáblázattal és a. Egy ilyen modellt nem olyan nehéz nyomon követni, de egy összetett modellhez sokkal összetettebb adatkészlet-felügyeletre van szükség.

Az összetett adatkészlet metaadatai sokkal fontosabbá válnak a kardinalitás szempontjából, ami a mezőn belüli egyedi értékek száma. Nagy hatással van a modell méretére, valamint potenciálisan a feldolgozás sebességére.

Ezenkívül a modell felépítése során nemcsak a táblák számát, hanem a táblák dátumtartományát is segíthet. A Dátumtáblázat felépítése során ügyel arra, hogy a ténytáblázatban szereplő adatok teljes skáláját lefedje.

Ezért ebben a példában próbáljunk meg egy táblázatot hozzáadni ehhez az adatmodellhez, amelyen dolgozom. A Power Queryben az Új forrás , majd az Üres lekérdezés lehetőségre lépünk . Ezután belépünk a Speciális szerkesztőbe, és beillesztem a List.Dates nevű függvényt . Ezt fogjuk használni, hogy létrehozzunk egy 10 000-es számú táblázatot, tehát ez 10 000 egyedi dátum.

Egy 10 000 elemből álló listát fog visszaadni, és ezt egyszerűen táblává alakíthatjuk, majd átnevezhetjük a táblát.

Itt a mai napig módosíthatjuk a mezőt. És ha rákattintunk a Bezárás és az Alkalmaz gombra, látni fogjuk, hogy az intelligens narratívánk dinamikusan frissül, anélkül, hogy a teljes modellt frissítenünk kellene (mint ahogyan a múltban tesszük).

Ez az oka annak, hogy ez teljesen dinamikus, mert mindezt intézkedésekkel tesszük. Érdekessége, hogy rengeteg hibát mutat, a funkció pedig annyira új, hogy az IntelliSense nem veszi fel rendesen, de tényleg működik.

Menjünk át a Tabular Editor 3-ba, amely szerintem a legjobb módja annak, hogy kitaláljuk, mit is csinálnak valójában az összetett DAX-mértékek.

Ne feledje, hogy a DAX-lekérdezés táblákat ad vissza, nem pedig skálázókat. Tehát, ha ezt a mértéket vesszük és átmásoljuk a, hibát mutat, mert az Eredmény itt még mindig skálázó. Használhatjuk a hibakeresési megközelítést, amikor a RETURN eredményt az intézkedés egyes összetevőire cseréljük.

Ebben az esetben a ColStats- ra cseréljük , amit a tetején tettünk, csak azt a COLUMNSTATISTICS oszlopot.változóba. Ezzel pontosan azt kapjuk, amit várunk, ez a standard oszlopstatisztikai táblázat.

És most meg akarjuk nézni a Táblázat neve oszlopot, és ki akarjuk venni a különböző értékeket, és megszámolni azokat. Ez lesz az adatmodellünk tábláinak száma.

Először is kiválasztunk oszlopokat a ColStats táblánkban, és csak a táblázatnév mezőt adjuk vissza. Általában egy DAX-mértékben vagy egy DAX-lekérdezésben egy mezőnevet szeretne visszaadni a táblanévvel előtte. De ebben az esetben nem tudjuk, hogy a megfelelő táblanév mire hivatkozik, mert csak virtuálisan létezik. Úgy tűnik, hogy nem fogadja el a változó nevét táblanévként.

Tehát ebben az esetben maradnunk kell a mértéknél, de valójában oszlophivatkozásról van szó, előtte lévő táblázathivatkozás nélkül. És ez még mindig működik, bár a nómenklatúrában zavaró. Ha ezt a RETURN utasítást a TabCol- unkkal helyettesítjük , akkor pontosan azt kapjuk, amit várunk, ez a modelltáblázat mező.

És akkor az Eredményhez csak megszámoljuk a táblázat különálló oszlopait. Tehát, ha ezt lecseréljük a DISTINCT(TabsCol) -ra , megkapjuk a hét táblánkat.

Most pedig vessünk egy pillantást a legmagasabb kardinalitású táblázatra, és nézzük meg, hogyan kaptuk meg ezeket. Ez valójában egy fontos minta, amelyet sok különböző dologhoz használhat, ahol keres, nem csak a maximális számra, hanem a számhoz társított max attribútumra is.

Tehát vessünk egy pillantást a MaxCardinalityre . Annak ellenére, hogy ez egy skálázó, egycellás táblázattá alakíthatjuk, ha csak zárójeleket teszünk köré. És ha elérjük az ötöt, akkor azt látjuk, hogy ez a 10 000-es kardinalitási érték.

Tehát most az a kérdés, hogyan vesszük ezt, és adjuk vissza az ehhez a kardinalitáshoz társított táblázatot.

Ehhez ezt a nagyon gyakori mintát használjuk. Ezután átmásoljuk a RETURN utasításunkba, és azt a sort kapjuk, amelyet vártunk, ami a 10 000 dátum oszlop. Ahelyett, hogy egy sort kapnánk (mert ez a TOPN), kettőt kapunk, mert döntetlen.

A ColStats azt is megteszi, hogy minden táblához létrehoz egy indexet a RowNumber nevű rejtett indexsorban, amely a tábla minden sorának egyedi azonosítója. Így a MaxCardinalityt mindig a sorszám tükrözi, ha ez egyedi azonosító.

Tehát nem igazán számít, hogy van két sorunk, mert amit nézünk, az a táblanév max. És ez a maximum csak azért van, hogy visszaadjon valami értéket, hogy különben ez csak egy csupasz oszlop lenne. De ehhez némi összesítést kell tennünk, és ebben az esetben használjuk.

Ezután, ha a MaxCardinalityt a RETURN utasításunkba helyezzük , és zárójelbe tesszük, hogy egy táblázatot adjunk vissza, nem pedig egy skálázót, akkor a Test értékét adja vissza.

Ez a TOPN DAX minta egy igazán jó minta, amelyet érdemes megjegyezni, ha alapvetően egy max vagy egy minimum értéket szeretne kitalálni, majd visszaadni egy ehhez a minimumhoz vagy maximumhoz társított attribútumot.




Következtetés

Megadtam Önnek azt az általános megközelítést és kontextust, amelyet felhasználhatunk a COLUMNSTATISTICS COLUMNSTATISTICS DAX függvény lehető legjobb kihasználásához, dinamikus módon. Mivel ezt dinamikusan nyomon tudjuk követni egy összetett modellben, úgy gondolom, hogy ennek a funkciónak óriási értéke van.

Minél többet kísérletezünk a COLUMNSTATISTICS függvénnyel és a DAX-on belüli metaadatok dinamikus kezelésére való képességével, annál érdekesebb felhasználási lehetőségeket fogunk találni. Tehát ha már talált néhány érdekes felhasználást ennek a DAX-függvénynek, kérjük, tudassa velem az alábbi megjegyzésekben.

Minden jót!


Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

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.