Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
Als data-analisten moeten we vaak waarden uit een dataset groeperen en rangschikken om trends en inzichten te genereren. Niet iedereen weet echter hoe deze taken op de gemakkelijke manier kunnen worden uitgevoerd met behulp van LuckyTemplates.
In de blog van vandaag zullen we een scenario onderzoeken dat LuckyTemplates-rangschikking en aangepaste groeperingsfuncties vereist om u te laten zien hoe u precies dat doet. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
Voor deze zelfstudie gebruiken we een gegevenstabel met drie kolommen, namelijk Record-ID's , Prioriteiten en Minuten . Ons doel is om de top 5% van de records te identificeren met prioriteit 1 of 2 op basis van het maximale aantal minuten.
Inhoudsopgave
Gegevensset om LuckyTemplates-rangschikking en -groepering te maken
Zo ziet de dataset eruit in Power Query. Het heeft geen attribuut om prioriteiten 1 en 2 van de rest te scheiden, waardoor we de M-functie Table.Partition moeten gebruiken . Dit genereert een hulpkolom om prioriteiten 1 en 2 te scheiden van andere rijen.
LuckyTemplates-functie: Table.Partition
Om te onderzoeken hoe u Table.Partition kunt gebruiken om onze gegevens te segmenteren, beginnen we met het openen van de Geavanceerde editor .
Voeg in het venster dat verschijnt een nieuwe regel toe om een nieuwe variabele te maken. Laten we de variabele Partities noemen . Voeg de functie Table.Partition toe die de volgende informatie vereist.
In regel 5 zullen we Source wijzigen in Partitions , wat ons de volgende oplossing geeft.
Klik op Gereed om te zien hoe dit onze tabel beïnvloedt. Zoals hieronder wordt getoond, maakt de functie Table.Partition een lijst met twee geneste tabellen .
Als u op Tabel 1 klikt, wordt een voorbeeldtabel geopend met alle records met een prioriteit kleiner dan drie (prioriteiten 1 en 2).
Alle overige rijen staan in Tabel 2 .
Omdat prioriteiten 1 en 2 nu in één tabel zijn gegroepeerd, kunnen we nu de tabel gebruiken om onze top 5% te berekenen.
LuckyTemplates-functie: Table.RowCount
De Table.RowCount kan worden gebruikt om het aantal rijen te bepalen dat nodig is om aan de eis van 5% te voldoen. Het telt het aantal rijen met prioriteit 1 en 2 en krijgt dan de 5% van het verkregen aantal.
Open om te beginnen het venster Geavanceerde editor vanuit de linkerbovenhoek.
Vervolgens voegen we een nieuwe regel en een nieuwe variabele toe, die we nRow zullen noemen. We moeten onze eerste tabel extraheren door de variabelenaam Partitions van regel 3 te kopiëren.
Vervolgens gebruiken we de positionele indexoperator om toegang te krijgen tot het eerste item in de lijst van de eerste tabel. Plaats vervolgens de operator Table.RowCount rond Partitions(0). We vermenigvuldigen het dan met 0,05 om 5% te krijgen.
Rond het getal ook af op nul decimaal met behulp van de functie Number.Round . Ten slotte zullen we de laatste regel wijzigen van Partities naar nRow.
Dit zou er twee moeten opleveren, zoals hieronder weergegeven.
Het resultaat betekent dat we, om aan de vereiste van 5% te voldoen, twee rijen uit tabel 1 moeten markeren. Om dat te doen, kunnen we de nieuwe M-functie Table.AddRankColumn gebruiken.
LuckyTemplates-functie: Table.AddRankColumn
In dit gedeelte gebruiken we de LuckyTemplates Rank-functie om onze rijen te rangschikken. De Table.AddRankColumn wordt gebruikt om een nieuwe rangschikkingskolom aan een tabel toe te voegen op basis van onze vergelijkingscriteria.
Open om te beginnen het venster Geavanceerde editor . Maak tabel 1 en noem deze t1 op een nieuwe regel. Gebruik vervolgens de Table.AddRankColumn en voeg onze eerste tabel, Partitions (0), toe. We moeten ook een nieuwe kolomnaam toewijzen die we i zullen noemen.
Voor de vergelijkingscriteria willen we de minuten van hoog naar laag rangschikken met behulp van {“Minutes”, Order.Descending} .
Voeg ten slotte een RankKind=RankKind.Ordinal toe . Dit dwingt alle items om een uniek nummer te krijgen, zelfs als ze als gelijk worden beoordeeld. Vervolgens veranderen we nRow in t1 om tabel 1 te retourneren.
Onze oplossing zou er zo uit moeten zien.
Klik op Gereed om een vergelijkbare tabel te krijgen.
Een Booleaans filter toevoegen
We zullen ook een booleaans filter aan onze tabel toevoegen omdat we de rangkolom niet meer willen behouden. In plaats daarvan willen we een booleaans filter toevoegen om alleen de bovenste twee rijen te identificeren die we moeten uitsluiten.
Laten we dus teruggaan naar het venster Geavanceerde editor en een aangepaste kolom toevoegen. Voeg een nieuwe regel toe met de functie Table.AddColumn en roep de nieuwe kolom Exclude aan .
Voor de columnGenerator kunnen we naar de nieuw gemaakte kolom kijken met elke i kleiner dan of gelijk aan ons nRow- nummer, het aantal rijen dat moet worden uitgesloten. We zullen ze ook een gegevenstype toewijzen met type logisch .
Onze oplossing zou er zo uit moeten zien.
Klik op Gereed om een tabel te krijgen die vergelijkbaar is met die hieronder.
LuckyTemplates-functie: Table.RemoveColumns
We hebben onze helperkolom niet meer nodig, dus we kunnen hem van onze tafel verwijderen.
Dus laten we in het Advanced Editor- venster de Table.RemoveColumns gebruiken en kolom i verwijderen .
Klik vervolgens op Gereed .
Tabellen combineren
We hebben een nieuwe versie van onze geneste tabel 1 gemaakt en moeten dezelfde lay-out maken voor onze geneste tabel 2. En voor die tabel moeten we een uitsluitingskolom toevoegen waarin alle waarden gelijk moeten zijn aan TRUE.
Maak in de geavanceerde editor een nieuwe variabele met de naam t2. We zullen een aangepaste kolom toevoegen met Table.AddColumn en Partitions (1) aanroepen . Voeg vervolgens een Exclude- kolom toe en stel de columnGenerator in als elke true, typ logic .
We willen t2 teruggeven door regel 13 te bewerken.
We zouden zo'n tafel moeten hebben.
Het laatste wat we moeten doen, is deze twee tabellen opnieuw combineren. Voeg in het venster Geavanceerde editor een nieuwe variabele toe met de naam t die gelijk is aan t1 & t2 .
Klik op Gereed om onze finaletafel te krijgen die eruitziet als die hieronder. Nu hebben we een tabel gerangschikt en gegroepeerd op basis van onze gegeven criteria, en met de top 5% gemarkeerd voor uitsluiting.
Rangschikkingsanalyse in LuckyTemplates: geavanceerde inzichten uit gecombineerde datasets
Rangschikkingsvisualisatie in LuckyTemplates – Dynamische visuele
LuckyTemplates-dimensies en -groepen voor het filteren van tabellen in rapporten
Conclusie
In deze blog heb je geleerd hoe je de functies Table.Partition , Table.AddRankColumn en Table.RemoveColumns gebruikt in Power Query. Onze voorbeelddataset heeft 44 rijen met prioriteiten 1 en 2, die we met succes hebben gegroepeerd en gerangschikt, waarbij de top 5% dienovereenkomstig is gemarkeerd.
Met deze nieuwe kennis van het gebruik van deze functies kunt u nu LuckyTemplates-functies voor rangschikking en aangepaste groepering gebruiken voor uw volgende dataset.
Al het beste,
Melissa de Korte
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten