Opprette en tilpasset tekstrensefunksjon i Power Query

I dette blogginnlegget skal vi se nærmere på en egendefinert funksjon for tekstrensing som jeg laget for vår pågående serie på LuckyTemplates TV kalt . Du kan se hele videoen av denne opplæringen nederst på denne bloggen.

For uke #2 har vi noen rotete data som må ryddes opp. Målet vårt her er å rense alle tekstverdiene i begge kolonnene.

For denne oppgaven opprettet jeg en ren tekstfunksjon.

Opprette en tilpasset tekstrensefunksjon i Power Query

Men først, la oss ta en rask titt på M-koden.

Opprette en tilpasset tekstrensefunksjon i Power Query

Denne funksjonen krever enkalt minTekst. Verdien skal være av typen tekst og funksjonen skal returnere en tekstverdi fordi ikke alle variablene som er oppført nedenfor vil returnere en tekstverdi.

Opprette en tilpasset tekstrensefunksjon i Power Query

Angivelse av returtype vil resultere i en feil. For å forhindre at feilen skjer, kan jeg kommentere det foreløpig.

Opprette en tilpasset tekstrensefunksjon i Power Query

Hvis vi vil se hva den første variabelen returnerer, er alt vi trenger å gjøre å referere til den ved navn, etter in-leddet. Så jeg skal kopiere ToRemove-variabelen, lime den inn på bunnlinjen og trykke OK.

Opprette en tilpasset tekstrensefunksjon i Power Query

For å se resultatet av den funksjonen, må vi påkalle den. Så la oss legge til en egendefinert kolonne i denne spørringen.

Opprette en tilpasset tekstrensefunksjon i Power Query

Deretter påkaller funksjonen vår, velg denne sammenslåtte kolonnen og trykk OK.

Opprette en tilpasset tekstrensefunksjon i Power Query

Innholdsfortegnelse

Opprette listene fra tom spørring

Vi ser nå at ToRemove-trinnet lager en liste. Faktisk er det en kombinasjon av to lister.

Den første listen skapte sitattegnene og den andre listen er en rekke tegn som jeg ønsket å fjerne.

Opprette en tilpasset tekstrensefunksjon i Power Query

Hvordan opprettet jeg denne listen?

Vel, jeg brukte en funksjon kalt Txt.ToList.

Du kan få tilgang til den interne funksjonsdokumentasjonen ved å lage en tom spørring, skrive inn funksjonsnavnet uten parentes og deretter trykke Enter.

Opprette en tilpasset tekstrensefunksjon i Power Query

Vi ser at Text.ToList returnerer en liste over tegnverdier fra en gitt tekstverdi.

La oss lime inn noen tekster og påkalle denne funksjonen.

Opprette en tilpasset tekstrensefunksjon i Power Query

Det oppretter en ny spørring og du kan se at denne listen inneholder alle bokstavene som vi ser her i teksten.

Opprette en tilpasset tekstrensefunksjon i Power Query

Husk at jeg la til en ekstra liste, ikke sant? Jeg kombinerte to lister og jeg brukte og-tegnet for å gjøre det.

La oss gjenskape det nå. Jeg brukte og-tegnet og listeinitialisereren, og skrev deretter inn anførselstegnene.

Opprette en tilpasset tekstrensefunksjon i Power Query

Vi ser nå at sitatene er lagt til denne listen, men hvorfor opprettet jeg en liste?

Opprette en tilpasset tekstrensefunksjon i Power Query

Vel, i neste trinn av tekstrensefunksjonen min brukte jeg en M-funksjon kalt Tekst. Fjerne.

Opprette en tilpasset tekstrensefunksjon i Power Query

Og du ser at du kan skrive inn en tekst og deretter en liste over tegn som du vil fjerne fra den strengen.

Opprette en tilpasset tekstrensefunksjon i Power Query

La oss gå tilbake til vår tekstrensefunksjon.

Opprette en tilpasset tekstrensefunksjon i Power Query

Til. Fjern opprettet disse to listene, og kombinerte dem deretter til en enkelt liste.

Opprette en tilpasset tekstrensefunksjon i Power Query

Og la oss deretter lime inn CleanText-variabelen. 'in'-leddet kaller M-funksjonen Text.Remove og sender myText-variabelen, og kaller deretter To.Remove-listen. La oss se hva dette gjør.

Opprette en tilpasset tekstrensefunksjon i Power Query

La oss gå tilbake til søket vårt. Dette returnerer ikke lenger en liste, men det returnerer noen tekstverdier.

Opprette en tilpasset tekstrensefunksjon i Power Query

Trimming i Power Query

Neste trinn er trimming . Som du kan se fra bildet ovenfor, har vi noen ekstra mellomrom og et etterfølgende komma på slutten som vi ønsker å bli kvitt. For å gjøre dette kan vi bruke trimfunksjonene. La oss gå tilbake til spørringen for å undersøke M-koden.

I M-koden nestet jeg 2 trimfunksjoner. Den første strengfunksjonen fjerner de ekstra mellomrommene foran og på slutten av vår CleanText-variabel.

Opprette en tilpasset tekstrensefunksjon i Power Query

For de gjenværende tekstene vi har, fjerner vi også mellomrommene fra resultatstrengen.

Vi skal også fjerne etterfølgende komma.

Opprette en tilpasset tekstrensefunksjon i Power Query

La oss se resultatet. Jeg skal kopiere variabelnavnet, lime det inn etter "in"-klausulen og klikke Ferdig. Når vi oppdaterer søket vårt, kan du se at de ekstra mellomrommene er borte og det etterfølgende kommaet er fjernet.

Opprette en tilpasset tekstrensefunksjon i Power Query

I de siste trinnene i spørringen min erstattet jeg bare noen tekstverdier.

Opprette en tilpasset tekstrensefunksjon i Power Query

I det siste tilfellet erstattet jeg den understrekingen med et mellomrom. La oss kopiere det og lime det inn etter "in"-klausulen. Jeg har også aktivert returtypen igjen.

Opprette en tilpasset tekstrensefunksjon i Power Query

La oss gå tilbake til søket vårt og undersøke resultatene – så langt, så bra!

Opprette en tilpasset tekstrensefunksjon i Power Query

Nå ønsker vi ikke å lage nye kolonner for å påkalle funksjonen vår, ikke sant? Det vi kan gjøre er å transformere kolonne 1 til flettekolonnen i stedet.

Jeg skal fjerne dette egendefinerte kolonnetrinnet.

Opprette en tilpasset tekstrensefunksjon i Power Query

Deretter skal jeg bruke brukergrensesnittet til å lage hoveddelen av koden for oss. På transformeringsfanen velger du begge kolonnene, går til Format og velger en funksjon.

Opprette en tilpasset tekstrensefunksjon i Power Query

Det spiller ingen rolle hvilken funksjon som er valgt fordi dette er M-koden som genereres av brukergrensesnittet. Vi kan nå erstatte den teksten. Nedre funksjon...

Opprette en tilpasset tekstrensefunksjon i Power Query

… med vår ren tekst-funksjon. Forhåpentligvis forstår du hvorfor jeg måtte legge til fx foran. Det er ingen "i funksjon" som starter med det.

Opprette en tilpasset tekstrensefunksjon i Power Query

Når vi trykker OK, kan du se at tekstene våre er renset. Dette er fantastisk.

Opprette en tilpasset tekstrensefunksjon i Power Query

Konklusjon

Hvorfor måtte vi gå gjennom alle problemer med å lage en tilpasset rengjøringsfunksjon? Vel, hvis det er sannsynlig at du må gjenta dette trinnet eller bruke lignende logikk i fremtiden, kan du lagre denne funksjonsspørringen.

Ved å gjøre det vil det fremskynde søkeutviklingen på et senere tidspunkt. En annen god grunn er fordi det også er morsomt å gjøre.

Jeg håper du likte denne opplæringen. Hvis du gjorde det, ikke glem å abonnere på LuckyTemplates-kanalen .

Melissa

Leave a Comment

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.