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.
För den här handledningen kommer jag att demonstrera hur du kan extrahera värden före varje förekomst av en specifik text med hjälp av Power Query Advanced Editor. Det finns många sätt att uppnå detta, men jag tänkte att det skulle vara kul att visa en lösning som är helt kodad. Du kan se hela videon av denna handledning i slutet av den här bloggen.
En medlem påpublicerade detta scenario nedan. Den helt kodade lösningen som jag ska visa är mer avancerad, men jag delar upp den i mycket små bitar så att vi kan undersöka resultaten av varje enskilt steg.
Innehållsförteckning
Använda Power Query Advanced Editor & M-funktioner
Jag skapar en referens till exempelfrågan och lägger till en anpassad kolumn där vi kan bygga vår logik.
Det första jag ska göra är att dela upp textkolumnen. Så vi använder funktionen Text.Split och placerar sedan en öppningsparentes. Den vill ha en text, så vi kan peka på vår textkolumn. Därefter vill den ha en separator som text. Så mellan en uppsättning dubbla citattecken kan vi lägga till det semikolonet, sedan stänga parentesen och trycka på OK.
Och med det ger det oss en lista med separerade textvärden.
Vi måste fortfarande göra lite av en städning eftersom det kan finnas några inledande eller efterföljande utrymmen inkluderade i dessa textsträngar och vi måste bli av med dem. Det betyder att vi måste ändra innehållet i var och en av dessa listor, och det finns enför det som kallas List.Transform .
Så i formelfältet lägger jag till List.Transform. Den vill ha en lista och vi har gett det, sätt sedan ett kommatecken. Nästa, är en transformation, så vi vill trimma dessa texter. Så jag lägger till Text.Trim , sedan en avslutande parentes och trycker på OK.
Nu, låt oss öppna Power Query Advanced Editor-fönstret för som jag sa, jag vill dela upp detta i riktigt små bitar. Jag kommer att använda variabler för att lagra mellanliggande resultat för vart och ett av stegen.
Vi kan skapa en kommaavgränsad uppsättning variabler i ett let- uttryck. Jag kallar det första steget som ListTexts . Den sista avslutande parentesen är från vår tabell som lade till kolumnfunktioner, så flytta den till en ny rad också. I slutet av det första uttrycket måste vi sätta i ett kommatecken, så att vi kan lägga till ett nytt uttryck där.
Sedan skapar vi ett nytt variabelnamn, som jag kallar FindPositions . Hela strängen har separerats och rengjorts. Allt vi behöver göra är att hitta platsen för strängen som vi letar efter. För att göra det använder vi en funktion som heter ListPositionOf . Lägg till öppningsparentes så kan vi returnera variabeln som vi redan skapat (ListTexts).
Därefter sätter vi värdet som vi letar efter, och det är två stora A. Motsvarigheten till let är i klausulen, så vi måste lägga till det och returnera det till FindPositions . Tryck sedan på Klar.
Den här funktionen tar en valfri tredje parameter, så i formelfältet kan vi lägga till den tredje parametern. Och med det får vi en lista.
Målet är att extrahera värdet före söksträngen, så vi måste flytta tillbaka till en enda position. Men vi har också nollor. Det finns inget värde före det första initiala värdet i den strängen, och vi måste undvika fel, så vi måste utesluta dessa nollor, så vi går tillbaka till Advanced Editor igen och lägger till lite logik.
Vi behöver fortfarande flytta tillbaka till en position. Så i Advanced Editor kan vi använda List.Transform för att hjälpa oss.
Därefter använder vi List.Transform för att hämta strängar och komma åt objekt i våra listor.
Det sista steget är att kombinera alla textvärden i listan till en enda sträng. Och så, jag ska lägga till ytterligare en rad i vår logik för vårt resultat med funktionen Text.Combine .
Och det är så du kan extrahera strängar före en specifik text med en helt kodad lösning.
Slutsats
I den här handledningen har du sett hur man extraherar strängar före en specifik text, och vi använde flera texter och listar M-funktioner för att utföra den uppgiften. Jag hoppas att du har njutit av den här. Du kan titta på hela videohandledningen nedan för att se steg-för-steg-lösningen i detalj.
Med vänliga hälsningar!
Melissa
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.