Pipe In R: Anslutningsfunktioner med Dplyr
I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.
I dagens blogg kommer jag att diskutera en fråga som dyker upp hela tiden i LuckyTemplates-forumet . Hur kan du sortera fälten från en utökad datumtabells kolumner korrekt? Du kan se hela videon av denna handledning längst ner på den här bloggen.
Detta hänvisar till den utökade datumtabellen från M-koden som utvecklades av Melissa Dekorte, en av våra experter.
Vårt exempel på det här blogginlägget är bara en enkel applikation som löper från 2018 till 2020 med ett räkenskapsår som börjar i juli. Medlemmen ville lära sig hur man sorterar månadsnamnet; de försökte också sortera ett av fälten relaterade till månad.
Så här kan du sortera en kolumn effektivt.
Vårhar många fält i sig; ärligt talat, de är svåra att hålla ordning på ibland.
Det är därför vi skapade det här fuskbladet som visar dig hur vart och ett av fälten ser ut, samt deras format och innehåll, en viss dag.
I de flesta fall kan du använda detta för att ta reda på hur man sorterar ett fält baserat på ett annat.
Vi har månadens namn och forummedlemmen försökte använda MonthnYear för att reda ut det.
Låt oss hitta månadens namn i vår utökade datumtabell. Välj Månadsnamn i fältrutan och gå sedan till Sortera efter kolumn och leta efter Månadsår .
När vi klickar på det får vi ett felmeddelande som säger att vi inte kan ha mer än ett värde i MonthnYear för samma värde i Month Name.
Detta kommer ner till ett granularitetsproblem. Du behöver en en-till-en-relation mellan fältet du försöker sortera och fältet du använder för att sortera efter.
I det här fallet, för en given månad 2018, 2019 och 2020, kan vi ha tre olika värden för fältet Månadsår . Det är därför vi måste hitta en som har en en-till-en relation.
Om vi går tillbaka till vårt cheat sheet kan vi se att MonthofYear bara är månadens nummer. Detta kommer att ha den en-till-en-relation som vi letar efter. Detta innebär att januari kommer att motsvara 1, februari med 2, och så vidare.
Om vi klickar på Sortera efter kolumn och sorterar efter månad på året får vi fält- eller tabellkolumnerna sorterade ordentligt.
Nästa, Månad & År , är lite svårare. Det är ett sammansatt fält som har en kort månad och år.
Vi måste hitta något som sorterar först efter år och sedan efter månad. Om vi klickar på Månadsår i fältrutan och går till Sortera efter kolumn , kommer månadsåret som vi ursprungligen försökte använda att passa perfekt .
Du kan se att för tabellkolumnen Månad och år har allt ordnat sig perfekt.
Så nu har vi de två första klara. Den sista är dock ett riktigt illa skött fält.
Det är problematiskt av ett par anledningar. Vi har två textfält sammanlänkade och räkenskapsmånadsfältet är inte utfyllt.
I slutändan vill vi uppnå något som liknar detta månadsår , där vi har ett fyrsiffrigt räkenskapsår och sedan vår tvåsiffriga räkenskapsmånad utfylld efter det.
Det enklaste sättet att göra detta är att använda power-frågan .
Vi går till Transform data .
Och sedan går vi till vår datumtabell och lägger till en anpassad kolumn.
Låt oss kalla den här anpassade kolumnen Budget Year Fiscal Month Sorter (FYFM Sortering).
Vi börjar med vårt textprefix som är 20 för de två första siffrorna i vårt årtal och sedan sammanfogar vi det med en funktion som heter Tex.Middle . Denna funktion drar en delsträng ur en större textsträng. Det är analogt med MID , och jag ska visa dig skillnaden mellan de två.
Vi kommer att använda detta på vårt räkenskapsårsfält.
I DAX, när vi drar delsträngar, är det ett enbaserat index. För att dra det tredje tecknet måste vi använda 3. I power-frågan är det ett nollbaserat index så det tredje tecknet blir 012.
Vi börjar med 2, som är det tredje tecknet. Vi vill returnera två tecken för att få bort det andra siffrorna från räkenskapsårsfältet.
Nästa steg är att sammanfoga detta med vårt vadderade räkenskapsmånadsfält.
I DAX kommer vi att behöva använda en LENGTH-funktion och IF-funktion, då kan vi manuellt paddla.
I power-frågan finns det en funktion som gör allt detta. Detta är Text.PadStart .
Eftersom räkenskapsperioden är ett numeriskt fält, måste vi använda en funktion som heter Text.From för att konvertera det numeriska värdet till ett textvärde som vi kan fylla på. Sedan drar vi vårt räkenskapsperiodfält.
Vi vill se till att den har 2 tecken. I fall där det har 1 tecken, kommer vi att fylla på det med en 0.
När vi klickar på OK -knappen har vi vårt fyrsiffriga räkenskapsår och sedan vår tvåsiffriga vadderade räkenskapsmånad.
Vi går sedan tillbaka till startsidan och klickar på Stäng och tillämpa .
Om vi sorterar vårt FM & FY-fält efter kolumn, kommer det nu att sorteras perfekt efter räkenskapsår och sedan en räkenskapsmånad.
Slutsats
I den här bloggen har jag täckt tekniken för hur man sorterar datumtabellkolumner i LuckyTemplates. Detta är en bra strategi att göra för svåra områden, som kom från att bygga några anpassade funktioner. Jag hoppas att du har funnit denna allmänna uppsättning verktyg till hjälp i din egen rapportutveckling.
Om du inte redan har gjort det, vänligen prenumerera på LuckyTemplates TV- kanal , där vi har mer innehåll som kommer ut i framtiden.
Skål!
I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.
RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.
Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!
Excel Formler Fuskblad: Mellanvägledning
LuckyTemplates Kalendertabell: Vad är det och hur man använder det
Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.
Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.
Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.
I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.
Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.