M kód a Power Query egyéni oszlopaiban | LuckyTemplates

A mai blogban bemutatom a LuckyTemplates megoldását, beleértve egy egyszerű és általánosítható keretrendszert az M kód beépítésére a Power Query egyéni oszlopába. Az oktatóanyag teljes videóját a blog alján tekintheti meg.

Ha képes oszlopokat létrehozni a Power Queryben M-kóddal, akkor az összetettebb problémák megoldására is képes.

Mielőtt rátérnénk a megoldásra, tekintsük át a probléma természetét. Adtam egy nagy adathalmazt Kaggle-től 93 év Oscar-adataiból. Ki akartuk húzni a legjobb színésznőt, a nyerteseket, és különösen azokat a nőket, akik egynél több legjobb színésznő díjat nyertek, majd a Queryon Timeline segítségével vizualizálni akartuk azt az évet, amikor elnyerték második díjukat.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

A probléma megoldása során számos célom volt. Mire szeretnénk összpontosítani a problémát, és mik a fő célkitűzéseink?

És ebben hárman voltak.

Az első az volt, hogy megtanuljunk vagy fejlesszünk gyakorlatot a Group By és All Rows konstrukcióval . Valójában erre összpontosítottam, mert a problémák széles skáláját egyszerűen megoldja, és gyakran szükségtelenné válik valamilyen nagyon összetett DAX.

A második cél különösen azoknak szól, akik nem voltak hozzászokva az M-ben való munkához. Olyan problémát akartam létrehozni, amely kényelmesebbé teszi az alapvető M kód írását . Ezt a gondolkodásmódot akartam rákényszeríteni arra, hogy milyen az alapvető M kód fejlesztése és ennek folyamata.

Gil Raviv Power Queryről szóló könyvének egyik fejezete szerint a Power Query problémáinak körülbelül 40%-a megoldható pusztán a felhasználói felületen keresztül. De ez, néhány alapvető M-kód hozzáadásával és egyéni oszlopok létrehozásának lehetőségével, tényleg nem olyan nehéz. Ezt a százalékot 80% fölé emelheti. Néhány alapvető, egyszerű készséggel megduplázhatja problémamegoldó képességeit.

A harmadik dolog, amit szeretnék tenni, az az, hogy bemutassam a Queryon Timeline egyéni vizualizációját azoknak, akik nem ismerik. Ez az, akit nagyon megszerettem. Számos különböző esetben használtam, és úgy gondolom, hogy ez egy igazán egyedi módot biztosít az adatok megjelenítésére.

Tartalomjegyzék

Megoldási megközelítés a hét problémájához #9

Ezen a problémán gondolkodva egy gondolatkísérletet akartam végezni. Mi lenne, ha CSV-fájl helyett csak 93 cédulát adnék neked (egyet minden évben a legjobb színésznő díjával), hogyan nézne ki a megoldás?

Az Ön megoldása valószínűleg valahogy úgy nézne ki, mint amit alább találtam.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Szerintem erre mindenkinek viszonylag hasonló megoldása lenne. Ha megvan ez a koncepcionális megoldás, akkor már csak azt kell kitalálni, hogy a Power Query hogyan hajtsa végre az egyes lépéseket.

Szóval, ezt csak vázlatosan fogom fel, majd végigmegyek, hogyan operacionalizálják ezt az elvi megoldást valamivé a Power Queryben. Az általunk alkalmazott megközelítést Melissa, a Power Query guruja a Google tanulásnak nevezi.

Ha most visszatérünk a koncepcionális modellünkhöz, az első két lépés a cédulák csoportokba rendezése színésznőnként, és minden olyan csoport kidobása, amelyen csak egy cédula található. Tehát számolni akarunk. Ha nem tudjuk, hogyan kell ezt megtenni, bemegyünk a Google-ba, és megpróbálhatunk rákeresni egy kifejezésre. Ebben a példában megpróbáltam a „group in power query”-t. Ezzel mindent megtalálhatunk, amit tudnunk kell a csoportosításról.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Csoportosítás használata a Power Queryben

Ezután ugorhatunk a Power Query-be, és megkezdhetjük a megoldásunk működését. Amit megtettem, az az, hogy ezen az Oscar-táblázaton átnéztem, behúztam a CSV-fájlt, és leszűrtem a legjobb női alakítás díjait minden évben. Tehát csak a Név és a film éve 93 sora van.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ha belépünk a Power Query-be, és odamegyünk ahhoz a táblázathoz, akkor az első dolog, amit meg akarunk tenni, ez a csoportosítás .

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Mindig is szerettem az Advanced-re lépni , mert az csak egy kicsit jobb felületet biztosít, még akkor is, ha az, amit csinálunk, meglehetősen egyszerű.

Név szerint szeretnénk csoportosítani , akkor legyen egy oszlop, az AllData , és ez lesz az összes sorunk. Ahelyett, hogy csak az összesítést adná vissza, az összesítést adja vissza, de az összes kívánt sor érintetlen marad.

Lesz egy másik oszlopunk is, a Számlálás , és ezt szeretnénk, amikor a Sorok számlálására megyünk . Meg akarjuk találni az egyes kupacokban lévő csúszások számát. Ezután kattintson az OK gombra.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ezután rákattinthatunk erre a fehér mezőre a táblázatban, és csak egy csúszást kapunk.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

De a többszörös számmal rendelkezőknél látni fogja, hogy megkapjuk az összes rekordot.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ezután ki akarjuk szűrni azokat (1). Tehát alapvetően szemétbe dobjuk azokat a kupacokat, amelyeknek csak egy neve van. Válassza az 1-et, majd kattintson az OK gombra.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És most elérkeztünk a 14 többszörös díjazotthoz. És most elérkeztünk a 14 többszörös díjazotthoz. Ha ezt vesszük és kibővítjük, akkor kivehetjük a Name elemet , mert már itt van a Name, és csak a year_film marad .

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Mostanra 30 sorra csökkentünk, mert ezek némelyike ​​többszörös győzelmet fog eredményezni. És tulajdonképpen még a Count rovattól is megszabadulhatunk, mert az 1-eseket már csak eggyel is kidobtuk.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Most menjünk koncepcionális modellünk következő fázisához, amely az egyes csoportok céduláit növekvő dátum szerint rendezi, majd minden csoporton belül válassza ki a második előforduló napot.

A válogatás egyszerű. Visszatérhetünk a Power Query-be, és elvégezhetjük aa színésznőtől, majd a dátumtól.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És megmutat egy egyet és egy kettőt.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Tehát jól meg vagyunk válogatva, és most olyan indexet vagy rangsort szeretnénk létrehozni, amely mindegyikhez rendelkezik, és aztán minden kupacban a másodikat is el tudjuk venni.

Tartalmazza a Table.AddIndexColumn M kódot

És így most visszatérünk a „Googling által tanult” megközelítésünkhöz, ahol csak rangsorolást vagy indexelést kereshetünk, de ugorhatunk a Microsoft Reference Guide oldalára is . Létrehoztam egy olyan külső eszközt, amelyet mindig használok, és csak visszakerül a LuckyTemplatesből a Microsoft Reference Guide-ba.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

A Microsoft Reference Guide-ban minden funkció szerint van csoportosítva, és van egy szűrőmezője, ahol rákereshet, amire szüksége van. Ebben az esetben a szűrőmezőbe írjuk be, hogy Rank vagy Index . A Rank-hoz nem ad semmit, de az Index esetében megvan ez a Table.AddIndexColumn , amely releváns és alkalmazható arra, amit keresünk. Néhány példát is tartalmaz a funkció használatára.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Tehát menjünk a Power Query-be, és csoportosítsuk át asztalunkat színésznő szerint.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ezzel táblázat szerint megkapjuk a 14 győztes csoportot. És ha bemegyünk bármelyik táblázatba, mondjuk Frances McDormand, láthatjuk, hogy a táblázat dátum szerint van rendezve.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És akkor itt a nagy lépés, ami hozzáteszi aegyéni oszlopot, és írja be az M kódunkat. Meglesz a Table.AddIndexColumn , majd adjuk hozzá az AllData mezőt . Az új oszlopunkat (szövegként) itt Indexnek nevezzük , és az indexünket eggyel (1) kezdjük, és eggyel (1) növeljük.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És itt kapjuk ezt a tökéletes indexet.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Most törölhetjük itt az AllData oszlopunkat, mivel mindent felvett a. Ezután csak kibővíthetjük az Egyéni oszlopot, kivesszük a Név elemet, mert itt már megvan a Név is. Ezzel mindegyikhez megvan az a számozott index.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Végül megtehetjük, amit a Count-nál tettünk, vagyis kiszűrjük azokat, amelyek a második győzelemben vannak.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És tessék. Ott a mi megoldásunk.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Vizualizálás a Queryon Timeline egyéni vizualizációjával

Van még néhány dolog, amit itt szeretnénk megtenni, amelyek mind a Queryon Visual megvalósításán alapulnak . Egyesítést fogunk végezni, és csak hozzáadjuk a kép URL-jét.

Tehát egyesítjük a lekérdezéseket, előhívjuk a Színésznők táblát, és egyesítjük a Névnél . 14-14 sor egyezést kapunk, ami jó.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Aztán a Színésznők oszlopban csak kibővítjük, és kibővítjük az URL-t.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

És most van ez az oszlop az URL-ekkel.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Van még egy dolog, ami a Queryon Timeline ismeretével jár. A Queryon akkor működik a legjobban, ha teljes dátumokkal foglalkozik, nem pedig évekkel . Tehát ez egy olyan dolog, ami csak kísérletezéssel jár, de használhatjuk az Év oszlopot, és létrehozhatunk egy oszlopot a példákból . Itt csak az éveket dátumokká akarjuk változtatni.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ettől jobb lesz a formázás. Ezt nem várnám el tőled, hogy rögtön tudd, de ez a Queryon gyakorlásával együtt jár. Kattintson az OK gombra, és ez dátumértékként jelenik meg. Az indextáblát törölhetjük, mert már nincs rá szükségünk, majd az év_film oszlop nevét Évre módosíthatjuk .

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ugorjunk most ennek a vizualizációs aspektusnak, és szeretném kiemelni az egyik LuckyTemplates tag, Jose bejegyzését, aki valóban nagyszerű munkát végzett a vizualizálás terén.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Visszatérve a Power Queryre a vizualizációhoz, érdemes megemlíteni, hogy a Microsoft nemrégiben néhány változtatást vezetett be az egyéni vizualizációk tanúsításának módjában . A tanúsítás részeként szigorították a külső URL-képek használatát.

Ha ténylegesen a Queryon Timeline alkalmazásforrásban található verzióját használja (1.05-ös verzió), akkor nem fogja tudni letölteni ezeket az URL-képeket. Így most lehetősége van arra, hogy ezt az 1.04-et használja, megtartva az URL-képeket, ahol a webhelyükön vannak, így közvetlenül a PBIX-fájlba ágyazhat be bináris 64-es képeket.

Most említettem, hogy ezt az évet dátummezővé változtattuk, ezért ezt össze kell kapcsolnunk az adatmodellünkkel.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Változtassuk meg egyről egyre egy többre , és állítsuk be az Egy irányt a keresztszűrőn, majd tegyük ezt.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Ezután a kép URL mezőjéhez meg kell győződnünk arról, hogy az Adat kategóriában nem kategorizálatlanként jelenik meg, hanem.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates

Most, hogy mindent szépen előkészítettünk, egyszerűen húzzuk át a Név , a Dátum és az URL mezőket. A többi része igazán egyszerű tisztítássá válik a formátumbeállításokban.

M kód a Power Query egyéni oszlopaiban |  LuckyTemplates




Következtetés

Remélhetőleg lelkesítettem, hogy M kódot adjon a repertoárjához. Megmutattam, hogyan állíthat fel egy koncepcionális modellt, és hogyan valósíthatja meg a Learn by Googling megközelítést. Végigvezettem az M-kód egyéni oszlopba történő beépítésének lépésein, és az eredmények megjelenítése a Queryon Timeline segítségével.

Remélem hasznosnak találtad. Nézze meg az alábbi teljes videót az oktatóanyag további részleteiért, és tekintse meg az alábbi linkeket további kapcsolódó tartalmakért.

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.