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.
Ebben az oktatóanyagban újra áttekintünk egy korábban tárgyalt témát arról, hogyan lehet több oszlopot feloldani a Power Queryben a List.Zip használatával. A LuckyTemplates egyik tagja kérdezte ahogyan lehet ezt a módszert dinamikussá tenni. Az oktatóanyag teljes videóját a blog alján tekintheti meg.
Ezt speciálisnak neveztem el, mert számos M függvényt fogunk írni, és ezek némelyike még újdonság is lehet az Ön számára.
Ezt követően térjünk át a Power Queryre.
Tartalomjegyzék
Adatok táblázatos formátumban
Amint látható, ezeket az adatokat már átalakították egy megfelelő, elemzésre alkalmas táblaformátummá. Ez a folyamat, bár nagyon fontos, itt nem tér ki, de röviden áttekintünk minden lépést.
A forrás lépésben az értékpárok állandó ismétlődését látjuk, amelyek a fent felsorolt attribútumok órái és elérhetőségei.
Az Alkalmazott lépések részben láthatja a többi lépést. Eltávolítottunk néhány felső sort, eltávolítottuk az üres oszlopokat, megtisztítottuk a szöveges értékeinket és kitöltöttük azokat. Ezután transzponáltuk adatainkat, eltávolítottuk az üres rekordot, egyesítettük az első és a második oszlopot, újra megtisztítottuk a szövegértékeinket, és visszatranszponáltuk az adatainkat.
Létrehoztunk egy egyéni lépést, amelyet a későbbiekben részletesebben megvizsgálunk, értékeket vettünk ki a listánkból, majd végül megváltoztattuk a típust.
Nézzük a teljes kódot. Ami minket érdekel, az a List.Zip funkció. Rövid összefoglaló: egyetlen listát vesz fel, majd egy listát ad vissza. Ennek eredményeként azt látjuk, hogy ebben az esetben ez az egyetlen lista három különálló listát tartalmaz.
Ha megvizsgáljuk az első listát, akkor ez keményen kódolt attribútumneveket tartalmaz, csak beírt szöveges értékeket. A második lista az óraértékek keménykódolt oszlophivatkozásait tartalmazza. A végső lista a kapcsolati értékekhez kódolt oszlophivatkozásokat tartalmaz.
A List.Zip ezután mindhárom listából vesz egy elemet, és egy új listában elfoglalt pozíciójuk alapján egyesíti őket. Például ezeknek a listáknak minden első eleme egy új listává egyesül. Ugyanez történik a listában másodikként felsorolt összes értékre, és így tovább.
A keményen kódolt értékek aggodalomra adnak okot, ha az attribútumok idővel nem változnak. Tehát ha legközelebb nem minden elem van jelen, vagy új elemek lesznek, akkor bajba kerülhet.
Kód módosítása több oszlop dinamikus feloldásához
Hogyan tehetjük ezt dinamikussá?
Az első dolgom, hogy átlépek a kódon, hogy megnézzem, van-e olyan hely, ahol felvehetjük ezeket az attribútumértékeket anélkül, hogy külön lépést kellene megterveznünk ennek megvalósításához. Tehát visszalépünk a kódon, és ez a RemoveNull lépés tökéletes.
Látható, hogy az összes attribútumértéket felsorolja itt, az első oszlopban. A felhasználói felület segítségével kibonthatjuk őket.
Ezért kattintson jobb gombbal a fejlécre, és lent válassza a Hozzáadás új lekérdezésként lehetőséget .
Megkaptuk ezt a listát, és ez jó hír, mert a korábban látott kemény kódolt listát szeretnénk lecserélni a dinamikusra. Már csak az értékeket kell rendbe tenni.
Kezdjük a nullák eltávolításával. Tehát a képletsoron belül hozzáadunk egy List.RemoveNulls elemet . Amint most látható, minden elem ismétlődik, és ez az értékpárok miatt van. Egyszer szerepel az órákon.
A névjegyek esetében pedig az ismétlődések eltávolításához hozzáadhatunk egy List.Distinct elemet . Most létrehoztuk ezt a logikát, és nincs más dolgunk, mint kimásolni, majd visszailleszteni a mintalekérdezésünkbe.
A Mintalekérdezésben nyissa meg a Speciális szerkesztőt, és hozzon létre egy új változónevet. Nevezzük AttributeList-nek . Ezután beillesztjük a kódot, és vesszőt teszünk.
Most térjünk vissza az Egyéni lépéshez. A List.Zip-ben az első listát lecserélhetjük a változónevünkre (AttributeList).
Most pedig nézzük meg közelebbről a második listát. Tudjuk, hogy oszlopnevekre hivatkozik, és mindegyik oszlopnév ugyanazzal az attribútummal kezdődik, amely már szerepel a listában, majd szóközzel és egy „óra” szöveggel kezdődik.
Csak egy utótagot kell hozzáadnunk minden elemhez. Tehát lépjünk vissza egy lépéssel, és adjunk hozzá egy egyéni oszlopot, hogy logikát alkossunk.
Több oszlop dinamikus forgatása: Egyéni oszloplogika hozzáadása
Ez csak egy ideiglenes oszlop, így nem kell megfelelő nevet adnunk. Amint végeztünk, eltávolítjuk.
A lista értékeinek megváltoztatásához a List.Transform függvényt használhatjuk . Átalakítanunk kell az AttributeList értékeit , ezért beillesztem azt.
Itt a fejlécekben azt látjuk, hogy a szöveges értékek nagybetűvel kezdődnek, majd a többi kisbetűs. Az attribútumunk csak nagybetűs szót tartalmaz, ezért ezt a szövegértéket is át kell alakítanunk. Az aláhúzás segítségével elérhetjük a lista egyes elemeit, és hozzáadjuk ezt az utótagot.
Ezzel az oszlopunkban listaértéket kapunk. Nem számít, hogy melyiket választja, csak kattintson bármelyik oldalra a fehér mezőben.
Az oldal alatt láthatjuk az általunk létrehozott lista előnézetét. Láthatja tehát, hogy ezek az oszlopfejlécek most megfelelően kis- és nagybetűkkel vannak ellátva, így megfelelnek az itt látható oszlopfejléceknek ezzel a listával.
Mostantól megvannak az eszközeink, hogy azonosítsuk a rekordunkból azokat a mezőket, amelyeket el szeretnénk érni. Tehát nyissuk meg újra az egyéni oszlop párbeszédpanelt, és adjuk hozzá a Record.SelectFields elemet . Egy rekordot akar rekordként, így ezzel az aláhúzással hozzáférhetünk az éppen aktuális rekordhoz. Ezután adtunk neki egy listát az összes mezőnévvel, ezért adjon hozzá egy záró zárójelet, és nyomja meg az OK gombot .
Így már nincs listánk, de most kapunk egy rekordot. Kattintsunk ismét a fehér mező oldalára, hogy megnézzük a rekord tartalmát. Itt látjuk, hogy felsorolja a rekordmezők neveit és a rekordmezők értékeit.
De minket csak a rekordmezők értékei érdekelnek, ezért ezt ki kell bontanunk. Térjünk vissza az egyéni oszlop párbeszédpanelünkhöz, és adjuk hozzá a Record.FieldsValues elemet .
Most ismét listát kapunk, és már nem rekordot. Ismét oldalra kattintunk a fehér mezőben, és látja, hogy most már csak ezeket az értékeket tartalmazó listánk van. Szóval jól néz ki.
Másoljuk át az általunk létrehozott teljes logikát, kivéve az utolsó záró zárójelet. Most pedig eltávolíthatjuk ideiglenes oszlopunkat, mert már nincs rá szükségünk.
A képletsorunkon kiválasztjuk a második listánkat, és lecseréljük a logikánkra.
Ahhoz, hogy létrehozhassunk egy listát a névjegyek rekordmezőinek értékeivel, csak az utótagot kell módosítanunk. Így kiválaszthatjuk az utolsó listát is, és beilleszthetjük a logikánkba.
Ezután az óra helyett változtassuk ezt a névjegyekre .
Nincs hiba és jól néz ki. Ez most egy dinamikus megoldás több oszlop elforgatásának megszüntetésére.
Következtetés
Így lehet több oszlopot dinamikusan feloldania List.Zip használatával.
Ha új attribútum érkezik, az AttributeList automatikusan felveszi azt. És ha egy elem már nem létezik, akkor nem lesz jelen a listán.
Remélem, élvezted ezt. Tekintse meg az alábbi teljes videót az oktatóanyag további részleteiért, és tekintse meg az alábbi linkeket a LuckyTemplates több oszlopának unpivot körüli további tartalomért.
Minden jót
Méhfű
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.