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 den här handledningen kommer jag att visa dig lite avancerad rankningsanalys i LuckyTemplates. Som ett exempel kommer jag att använda rapporten som jag skickade in för LuckyTemplates-forumet.
Jag har diskuterat de andra sidorna i den här rapporten i andra handledningar. För tillfället skulle jag vilja fokusera på en specifik sida i rapporten som kombinerar två uppsättningar data.
Observera att jag redan har separata sidor för leverantörsdata och anläggningsdata . Men när dessa två datamängder interagerar kan användarna få ännu djupare insikter. Det var därför jag gick vidare och gjorde en kombinerad rutschkana.
Innehållsförteckning
Bygga den kombinerade sidan för leverantörer/växter
Om du har sett de andra handledningarna om hur jag skapade den här rapporten, kommer du att märka att alla bilderna jag använde ser nästan likadana ut förutom några unika bilder. Det beror på att jag skapade en bakgrundsmall på PowerPoint och använde den i hela rapporten.
Detta gav min rapport ett konsekvent utseende och gjorde det enklare, med vetskapen om att allt jag behövde göra var att ändra rubriken och data på varje sida. Bakgrunden förblev densamma hela tiden.
På den här sidan använde jag en chiclet slicer till vänster för växtdata och en annan chiclet slicer till höger för leverantörsdata.
Chiclet-skäraren finns under visualiseringsrutan, men om du inte ser den ännu kan du lägga till den på ditt eget LuckyTemplates-skrivbord genom att ladda ner den via AppSource.
Tabellen i mitten innehåller all data. Som du kan se har den både anläggningen och leverantörslistan.
Den innehåller också stilleståndsminuterna , den genomsnittliga stilleståndstiden , defekterna och rankningarna för dessa tre åtgärder . Den har också den totala genomsnittliga rankningen och den totala rankningen .
Lägg märke till att data för närvarande sorteras baserat på den totala rankningen, från bäst presterande till sämst presterande.
Åtgärder för rankningsanalys
Låt oss nu gräva i de faktiska åtgärderna som skapade resultaten som du ser i tabellen. Jag börjar med stilleståndsminuterna, som helt enkelt använderav de totala stilleståndsminuterna.
Nu när jag har grundmåttet klart kan jag börja rangordna stilleståndsminuterna. Jag kallade detta mått för bästa presterande leverantörer och anläggningar efter stilleståndsminuter . Men eftersom jag har begränsat utrymme på bordet döpte jag det helt enkelt till Rank By Downtime Minutes på det visuella.
Vissa skulle använda en uttalande för fall som dessa. Men det jag gjorde var att skapa enuttalande med funktionenpå anläggningsplatsen.
I grund och botten säger detta uttalande att om det finns ett värde i anläggningsplatsen så vill jag visa rangordningen. Annars måste det vara tomt.
Jag gjorde detta för att se till att utrymmet för Totalt förblir tomt. Den här kolumnen är bara avsedd att rangordna data över varje rad, så det är inte meningsfullt att ha en summa längst ner.
Det finns flera sätt att få detta att hända. Men när jag utvärderade de resultat jag ville få, tänkte jag att användningen av IF HASONEVALUE är det bästa alternativet med tanke på hur alla mått i den här rapporten interagerar med varandra.
Du kommer att märka att andra rangkolumner också är tomma i tabellen. Det beror på att tillvägagångssättet jag använde på dem alla var liknande.
Nästa del visar användningen avfungera. Sedan använde jagför att se till att jag rankar både anläggningsplatsen och leverantören även om jag har enpå plats. I grund och botten hjälper CROSSJOIN -funktionen att kombinera data för att komma fram till rankingen.
Du kommer att märka att jag ville att stilleståndsminuterna skulle vara större än eller lika med noll innan de rankas. Det beror på att jag ville utesluta alla anläggningar eller leverantörer som hade ett tomt utrymme under Driftstoppsminuter.
För att visa det kommer jag att sortera uppgifterna enligt stilleståndsminuterna. För tillfället sorteras den utifrån den totala rankningen.
Så här kommer det att se ut när jag sorterar tabellen efter stilleståndsminuter.
Lägg märke till att den översta datan har en nolla. Men i verkligheten fanns det några poster i datamängden där stilleståndsminuterna faktiskt var tomma. Dessa har tagits bort från ekvationen.
Låt oss gå vidare till nästa åtgärd, som rankar Genomsnittlig driftstopp. I grund och botten duplicerade jag bara rankningsmåttet för stilleståndsminuterna och ändrade data som refereras till.
Detta är en teknik som kallas måttförgrening . I grund och botten innebär det att bygga ett mått från ett mått. Jag hade ett befintligt mått som jag duplicerade och justerade för att passa det nya måttet jag behöver.
Åtgärdsförgrening gör hela rapportutvecklingsprocessen mer effektiv.
På så sätt behöver jag inte slösa tid på att skapa åtgärder från grunden, särskilt om åtgärden jag behöver är väldigt lik en befintlig.
Nu ska jag gå vidare till nästa mått, som är Rank By Defects . Återigen duplicerade jag måttet jag använde tidigare och ändrade bara de områden som kommer att vara specifika för Defekter.
Det finns en ytterligare förändring som jag gjorde här, särskilt det faktum att jag inte ville att något skulle vara. Så även om en rad under Defekter inte har något värde i sig vill jag att den ska ingå i rankingen på samma sätt.
Låt oss gå vidare till det totala genomsnittet. Detta är det mått jag använde för att få det totala genomsnittet.
Som du kan se var jag tvungen att skapa variabler för detta mått. Den förstaJag skapade heter AddRank. I grund och botten tog jag bara de tre åtgärderna jag arbetade med tidigare och lade till alla så att jag kan få ett totalt antal.
Sedan skapade jag nästa VAR , som jag kallade Resultat. Här inne använde jagfunktion på AddRank-variabeln med en divisor på tre.
Och sedan på min RETURN-sats längst ner, använde jag IF på säljaren.
Detta är ett annat tillvägagångssätt än HASONEVALUE som jag använde tidigare, även om de har samma tanke. Det står bara att om det finns en leverantör listad, visa mig ett resultat. Annars bör den returnera en BLANK .
Nu går jag vidare till den totala rankningen. Naturligtvis kommer detta fortfarande att likna de andra rankningsmåtten jag använde tidigare.
Jag använde HASONEVALUE för anläggningsplatsen, sedan har jag min RANKX -sats återigen med hjälp av CROSSJOIN- funktionen för att se till att jag får mina resultat av både anläggningsplats och leverantör. Jag hänvisade också till måttet för leverantörer och anläggningar i övergripande genomsnittlig rankning , vilket är måttet jag just arbetat med innan detta. Jag vill bara se till att numret inte är tomt.
Det fantastiska med detta är att hela tabellen kan sorteras med vilken som helst av rangordningarna. Så om jag vill sortera min data med hjälp av stilleståndsminuterna kan jag göra det. Det kommer att visa att toppresultatet för anläggningen skulle vara New Britain, och leverantören skulle vara Linktype.
Ännu bättre, det justerar inte de andra rankningarna på sidan. Detta beror på att jag användei mitt mått, och inte.
Du förstår, ALLSELECTED kommer bara att rangordna data baserat på de valda data. Om jag använder ett filter, till exempel, kommer endast de data som visas i tabellen att rangordnas. Data som exkluderas på grund av filtret kommer inte att inkluderas i rankningen.
Det hela handlar om vilken typ av resultat du letar efter. I det här fallet ville jag inte att den övergripande rangordningen skulle förändras oavsett om jag bara tittar på specifika data. Det var därför jag valde att använda ALLA .
Använda LuckyTemplates-forumet för rankningsanalys
Rankinganalys kan vara knepigt, speciellt om du arbetar med funktioner som RANKX . Det fina med LuckyTemplates är att vi har bra kursmaterial och en samarbetskultur inom samhället. Påenbart kan du hitta så många diskussioner om rankningsanalys.
Låt oss gå över till forumet så att du kan få en uppfattning om vad du kan förvänta dig.
När du kommer till forumets hemsida ser du sökfunktionen här.
Jag ska skriva in RANKX för att visa hur mycket information du kan få bara från forumet. Baserat på sökresultaten finns det över 50 diskussioner om ämnet.
Du kommer att se en blandning av bra lösningar på frågorna som ställs. Det här är en mycket samarbetsgrupp, det är därför du kommer att se andra människor hoppa in i diskussionerna och dela bästa praxis.
När jag rullar nedåt i resultaten ser jag det här fantastiska innehållet från Brian Julius, en av våra . Det här handlar om hur man utvecklar anpassade tiebreakers när man använder RANKX.
Om jag klickar på det så ser du att det ger dig länken till kursen där jag kan hitta ännu mer information om ämnet.
Att bara besöka LuckyTemplates-forumet kan redan ge dig massor av information, särskilt om du känner dig fast i din egen rankningsanalys. Du kan till och med få enoch få tillgång till resten av vår lärplattform så att du kan utveckla dina färdigheter ytterligare som LuckyTemplates-användare.
Slutsats
LuckyTemplates är ett så väl avrundat verktyg som låter användare få så mycket insikter som de kan från den data de arbetar med. I scenariot vi diskuterade kan du få avancerad rankningsanalys på ett sömlöst sätt när vi väl tar hänsyn till tekniker som att mäta förgrening.
Det är också bra om du drar nytta av resurserna som vi har här på LuckyTemplates. Även om du har avancerade kunskaper i att skapa rapporter och instrumentpaneler finns det alltid nya knep och tekniker att lära sig.
Med vänliga hälsningar,
Jarrett
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.