Skapa en anpassad textrengöringsfunktion i Power Query

I det här blogginlägget ska vi titta närmare på en anpassad funktion för textrensning som jag skapat för vår pågående serie på LuckyTemplates TV som heter . Du kan se hela videon av denna handledning längst ner på den här bloggen.

För vecka #2 har vi en del rörig data som behöver städas upp. Vårt mål här är att rensa alla textvärden i båda kolumnerna.

För den här uppgiften skapade jag en ren textfunktion.

Skapa en anpassad textrengöringsfunktion i Power Query

Men först, låt oss ta en snabb titt på M-koden.

Skapa en anpassad textrengöringsfunktion i Power Query

Denna funktion tar enkallas myText. Dess värde bör vara av typen text och funktionen bör returnera ett textvärde eftersom inte alla variabler som listas nedan kommer att returnera ett textvärde.

Skapa en anpassad textrengöringsfunktion i Power Query

Att deklarera returtypen kommer att resultera i ett fel. För att förhindra att det felet inträffar kan jag kommentera det tills vidare.

Skapa en anpassad textrengöringsfunktion i Power Query

Om vi ​​vill se vad den första variabeln returnerar, är allt vi behöver göra att referera till den med namn, efter in-satsen. Så jag ska kopiera ToRemove-variabeln, klistra in den på den nedersta raden och trycka på Okej.

Skapa en anpassad textrengöringsfunktion i Power Query

För att se resultatet av den funktionen måste vi anropa den. Så låt oss lägga till en anpassad kolumn till den här frågan.

Skapa en anpassad textrengöringsfunktion i Power Query

Anropa sedan vår funktion, välj denna sammanslagna kolumn och tryck på Okej.

Skapa en anpassad textrengöringsfunktion i Power Query

Innehållsförteckning

Skapa listor från tom fråga

Vi ser nu att ToRemove-steget skapar en lista. I själva verket är det en kombination av två listor.

Den första listan skapade citattecken och den andra listan är en rad tecken som jag ville ta bort.

Skapa en anpassad textrengöringsfunktion i Power Query

Hur skapade jag den här listan?

Tja, jag använde en funktion som heter Txt.ToList.

Du kan komma åt den interna funktionsdokumentationen genom att skapa en tom fråga, ange funktionsnamnet utan parentes och sedan trycka på Enter.

Skapa en anpassad textrengöringsfunktion i Power Query

Vi ser att Text.ToList returnerar en lista med teckenvärden från ett givet textvärde.

Låt oss klistra in några texter och anropa den här funktionen.

Skapa en anpassad textrengöringsfunktion i Power Query

Det skapar en ny fråga och du kan se att den här listan innehåller alla bokstäver som vi ser här i texten.

Skapa en anpassad textrengöringsfunktion i Power Query

Kom ihåg att jag lade till en extra lista, eller hur? Jag kombinerade två listor och använde et-tecken för att göra det.

Låt oss återskapa det nu. Jag använde et-tecken och listinitieraren och skrev sedan in dessa citattecken.

Skapa en anpassad textrengöringsfunktion i Power Query

Vi ser nu att citaten har lagts till i den här listan, men varför skapade jag en lista?

Skapa en anpassad textrengöringsfunktion i Power Query

Tja, i nästa steg av min textrensningsfunktion använde jag en M-funktion som heter Text. Avlägsna.

Skapa en anpassad textrengöringsfunktion i Power Query

Och du ser att du kan skriva in en text och sedan en lista med tecken som du vill ta bort från den strängen.

Skapa en anpassad textrengöringsfunktion i Power Query

Låt oss gå tillbaka till vår textrensningsfunktion.

Skapa en anpassad textrengöringsfunktion i Power Query

Till. Ta bort skapade dessa två listor och kombinerade dem sedan till en enda lista.

Skapa en anpassad textrengöringsfunktion i Power Query

Och låt oss sedan klistra in variabeln CleanText. 'in'-satsen anropar M-funktionen Text.Remove och skickar myText-variabeln och anropar sedan To.Remove-listan. Låt oss se vad det här gör.

Skapa en anpassad textrengöringsfunktion i Power Query

Låt oss gå tillbaka till vår fråga. Detta returnerar inte längre en lista, men det returnerar vissa textvärden.

Skapa en anpassad textrengöringsfunktion i Power Query

Trimning i Power Query

Nästa steg är trimning . Som du kan se på bilden ovan har vi ytterligare några mellanslag och ett kommatecken i slutet som vi vill bli av med. För att göra detta kan vi använda trimfunktionerna. Låt oss gå tillbaka till frågan för att undersöka M-koden.

I M-koden kapslade jag 2 trimfunktioner. Den första strängfunktionen tar bort de ytterligare utrymmena längst fram och i slutet av vår CleanText-variabel.

Skapa en anpassad textrengöringsfunktion i Power Query

För de återstående texterna som vi har tar vi också bort mellanslagen från resultatsträngen.

Vi kommer också att ta bort det avslutande kommatecken.

Skapa en anpassad textrengöringsfunktion i Power Query

Låt oss se resultatet. Jag ska kopiera variabelnamnet, klistra in det efter "in"-satsen och klicka på Klar. När vi uppdaterar vår fråga kan du se att de ytterligare blanksteg har försvunnit och det avslutande kommatecken har tagits bort.

Skapa en anpassad textrengöringsfunktion i Power Query

I de sista stegen av min fråga bytte jag bara ut några textvärden.

Skapa en anpassad textrengöringsfunktion i Power Query

I det sista fallet ersatte jag det understrecket med ett mellanslag. Låt oss kopiera det och klistra in det efter "in"-satsen. Jag aktiverade också returtypen igen.

Skapa en anpassad textrengöringsfunktion i Power Query

Låt oss gå tillbaka till vår fråga och undersöka resultaten – än så länge, så bra!

Skapa en anpassad textrengöringsfunktion i Power Query

Nu vill vi inte skapa nya kolumner för att anropa vår funktion, eller hur? Det vi kan göra är att omvandla vår kolumn 1 till vår sammanslagningskolumn istället.

Jag ska ta bort det här anpassade kolumnsteget.

Skapa en anpassad textrengöringsfunktion i Power Query

Sedan ska jag använda UI för att skapa huvuddelen av koden åt oss. Välj båda kolumnerna på transformeringsfliken, gå till Format och välj en funktion.

Skapa en anpassad textrengöringsfunktion i Power Query

Det spelar egentligen ingen roll vilken funktion som väljs eftersom detta är M-koden som genereras av användargränssnittet. Vi kan nu ersätta den texten. Nedre funktion...

Skapa en anpassad textrengöringsfunktion i Power Query

… med vår rena textfunktion. Förhoppningsvis förstår du varför jag var tvungen att lägga till fx framför. Det finns ingen "i funktion" som börjar med det.

Skapa en anpassad textrengöringsfunktion i Power Query

När vi trycker på OK kan du se att våra texter är rensade. Det här är häftigt.

Skapa en anpassad textrengöringsfunktion i Power Query

Slutsats

Varför behövde vi gå igenom alla problem med att skapa en anpassad rengöringsfunktion? Tja, om det är troligt att du kommer att behöva upprepa det här steget eller använda liknande logik i framtiden, kan du lagra denna funktionsfråga.

Genom att göra det kommer det att påskynda frågeutvecklingen i ett senare skede. En annan bra anledning är att det också är roligt att göra.

Jag hoppas att du gillade den här handledningen. Om du gjorde det, glöm inte att prenumerera på LuckyTemplates-kanalen .

Melissa


Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.