Home
» Power BI
»
LuckyTemplates rangsor és egyéni csoportosítás
LuckyTemplates rangsor és egyéni csoportosítás
Adatelemzőként gyakran meg kell csoportosítanunk és rangsorolnunk egy adatkészletből származó értékeket, hogy trendeket és betekintést nyerhessünk. Azonban nem mindenki tudja, hogyan kell ezeket a feladatokat egyszerűen elvégezni a LuckyTemplates használatával.
A mai blogban egy olyan forgatókönyvet fogunk megvizsgálni, amelyhez a LuckyTemplates rangsor és egyéni csoportosítási függvények szükségesek, hogy megmutassák, hogyan kell ezt pontosan megtenni. Az oktatóanyag teljes videóját a blog alján tekintheti meg.
Ebben az oktatóanyagban egy három oszlopból álló adattáblázatot fogunk használni, nevezetesen rekordazonosítók , prioritások és percek . Célunk, hogy a maximális percszám alapján azonosítsuk az 1-es vagy 2-es prioritású rekordok felső 5%-át.
Annak megvizsgálásához, hogyan használhatjuk a Table.Partition-t adataink szegmentálására, először a .
A megjelenő ablakban adjon hozzá egy új sort egy új változó létrehozásához. Nevezzük a Partíciók változót . Adja hozzá a Table.Partition függvényt , amely a következő információkat igényli.
A particionálni kívánt tábla. A mi esetünkben a Forrás.
Az értékelendő oszlop. Ez az oszlop a visszatérési táblázatban, amelybe a szabályok kerülnek. Ez lesz a Prioritás oszlop.
A létrehozandó csoportok száma. Ez a particionálandó táblák számára is vonatkozik, és szeretnénk 2 táblát.
Egy hash függvény. A hash érték megszerzéséhez számot kell használnunk. Kezdjük a hash függvényt mindegyikkel, ha az aktuális értéket jelző aláhúzás követi . Ezután adjuk hozzá azt a feltételt, hogy kisebb, mint három , majd adjunk vissza nulla else egyet .
Az 5. sorban a forrást Partíciókra változtatjuk , így a következő megoldást kapjuk.
Kattintson a Kész gombra , és nézze meg, hogyan befolyásolja a táblázatunkat. Az alábbiak szerint a Table.Partition függvény egy listát hoz létre kettővel.
Az 1. táblázatra kattintva megnyílik egy előnézeti táblázat, amely tartalmazza a háromnál kisebb prioritású rekordokat (1. és 2. prioritás).
Az összes többi sor a 2. táblázatban található .
Mivel az 1. és a 2. prioritás most egyetlen táblázatban van csoportosítva, a táblázat segítségével kiszámolhatjuk a felső 5%-ot.
LuckyTemplates Funkció: Table.RowCount
A Table.RowCount segítségével meghatározható az 5%-os követelmény teljesítéséhez szükséges sorok száma. Megszámolja az 1-es és 2-es prioritású sorok számát, majd megkapja a kapott szám 5%-át.
Az indításhoz nyissa meg a Speciális szerkesztő ablakot a bal felső sarokban.
Ezután hozzáadunk egy új sort és egy új változót, amelyet nRow-nak nevezünk. Ki kell bontani az első táblánkat úgy, hogy a Partitions változó nevét a 3. sorból másoljuk.
Ezután a pozícióindex operátort használjuk az első tábla listájának első elemének eléréséhez. Ezután csavarja a Table.RowCount operátort a Partitions(0) köré. Ezután megszorozzuk 0,05-tel, hogy 5%-ot kapjunk.
Ezenkívül kerekítse a számot nulla tizedesjegyre a Number.Round funkció segítségével. Végül megváltoztatjuk az utolsó sort Partitions- ról nRow -ra .
Ennek kettőt kell visszaadnia az alábbiak szerint.
Az eredmény azt jelenti, hogy az 5%-os követelmény teljesítéséhez az 1. táblázatból két sort kell kijelölnünk. Ehhez használhatjuk az új Table.AddRankColumn M függvényt.
LuckyTemplates Funkció: Table.AddRankColumn
Ebben a részben a LuckyTemplates Rank funkciót fogjuk használni soraink rangsorolásához. A Table.AddRankColumn egy új rangsoroló oszlop hozzáfűzésére szolgál egy táblázathoz az összehasonlítási kritériumaink alapján.
A kezdéshez nyissa meg a Speciális szerkesztő ablakot. Hozza létre az 1. táblázatot, és nevezze el t1- nek egy új sorban. Ezután használja a Table.AddRankColumn-t , és adja hozzá az első táblánkat, a Partitions-t (0). Új oszlopnevet is kell rendelnünk, amelyet i-nek fogunk nevezni.
Az összehasonlítási feltételekhez a perceket a legmagasabbtól a legalacsonyabbig szeretnénk rangsorolni a {„Percek”, Order.Descending} használatával .
Végül adjon hozzá egy RankKind=RankKind.Ordinal értéket . Ez arra kényszeríti az összes elemet, hogy egyedi számot kapjanak, még akkor is, ha egyenlőnek értékelik őket. Ezután az nRow értéket t1 -re változtatjuk, hogy visszaadjuk az 1. táblázatot.
A mi megoldásunknak így kell kinéznie.
Kattintson a Kész gombra , hogy egy ehhez hasonló táblázatot kapjon.
Logikai szűrő hozzáadása
Egy logikai szűrőt is hozzáadunk a táblázatunkhoz, mert nem akarjuk tovább tartani a rangoszlopot. Ehelyett egy logikai szűrőt szeretnénk hozzáadni, hogy csak a felső két sort azonosítsuk, amelyeket ki kell zárnunk.
Tehát térjünk vissza a Speciális szerkesztő ablakhoz, és adjunk hozzá egy egyéni oszlopot. Adjon hozzá egy új sort a Table.AddColumn függvénnyel, és hívja meg az új oszlopot Exclude .
Az oszlopgenerátor esetében megnézhetjük az újonnan létrehozott oszlopot úgy, hogy minden i értéke kisebb vagy egyenlő, mint az nRow számunk , amely a kizárandó sorok száma. A logikai típus használatával adattípust is rendelünk hozzájuk .
A mi megoldásunknak így kell kinéznie.
Kattintson a Kész gombra , hogy az alábbihoz hasonló táblázatot kapjon.
Már nincs szükségünk a segítő oszlopunkra, így eltávolíthatjuk az asztalunkról.
Tehát az Advanced Editor ablakban használjuk a Table.RemoveColumns elemet , és távolítsuk el az i oszlopot .
Ezután kattintson a Kész gombra .
Táblázatok kombinálása
Létrehoztuk az 1. beágyazott táblázatunk új verzióját, és ugyanazt az elrendezést kell létrehoznunk a beágyazott 2. táblázatunkhoz is. Ehhez a táblázathoz pedig hozzá kell adnunk egy kizárási oszlopot, ahol minden értéknek egyenlőnek kell lennie az IGAZ értékkel.
A Speciális szerkesztőben , és hozzon létre egy új t2 változót. Egyéni oszlopot fogunk hozzáadni a Table.AddColumn és a Partitions (1) meghívásával . Ezután adjon hozzá egy Kizárás oszlopot, és állítsa be az oszlopgenerátort igazként, írja be a logical .
A t2-t a 13. sor szerkesztésével szeretnénk visszaadni .
Vegyünk egy ilyen asztalt.
Az utolsó dolog, amit tennünk kell, az az, hogy újra kombináljuk ezt a két táblázatot. A Speciális szerkesztő ablakban adjon hozzá egy új t változót, amely egyenlő t1 és t2 értékkel .
Kattintson a Kész gombra , hogy az alábbihoz hasonló döntő asztalt kapjon. Most van egy táblázatunk, amelyet a megadott kritériumok alapján rangsoroltunk és csoportosítottunk, és a felső 5%-ot kizárásra jelöltük.
Következtetés
Ebben a blogban megtanulta a Table.Partition , Table.AddRankColumn és Table.RemoveColumns függvények használatát a Power Queryben. Mintaadatkészletünkben 44 sor 1. és 2. prioritás található, amelyeket sikeresen csoportosítottunk és rangsoroltunk, a felső 5%-ot ennek megfelelően jelölve.
A függvények használatának új ismeretei alapján most már használhatja a LuckyTemplates rangsort és egyéni csoportosítási funkciókat a következő adatkészlethez.