Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

For denne opplæringen skal jeg demonstrere hvordan du kan trekke ut verdier før hver forekomst av en bestemt tekst ved å bruke Power Query Advanced Editor. Det er mange måter å oppnå dette på, men jeg tenkte det ville være morsomt å vise en løsning som er fullstendig kodet. Du kan se hele videoen av denne opplæringen på slutten av denne bloggen.

Et medlem påla ut dette scenariet nedenfor. Den fullstendig kodede løsningen som jeg skal demonstrere er mer avansert, men jeg vil dele den opp i veldig små biter slik at vi kan undersøke resultatene av hvert enkelt trinn.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Innholdsfortegnelse

Bruke Power Query Advanced Editor og M-funksjoner

Jeg oppretter en referanse for eksempelspørringen og legger til en egendefinert kolonne der vi kan bygge logikken vår.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Det første jeg skal gjøre er å dele den tekstkolonnen. Så vi bruker funksjonen Text.Split , og setter deretter inn en åpningsparentes. Den vil ha en tekst, så vi kan peke på tekstkolonnen vår. Deretter vil den ha en skilletegn som tekst. Så mellom et sett med doble anførselstegn kan vi legge til det semikolonet, deretter lukke parentesen og trykke OK.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Og med det gir det oss en liste med adskilte tekstverdier.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Vi må fortsatt gjøre litt opprydding fordi det kan være noen innledende eller etterfølgende mellomrom inkludert i disse tekststrengene, og vi må bli kvitt dem. Det betyr at vi må endre innholdet i hver av disse listene, og det er enfor det som heter List.Transform .

Så i formellinjen legger jeg til List.Transform. Den vil ha en liste, og vi har gitt den, og sett deretter et komma. Neste, er en transformasjon, så vi ønsker å trimme disse tekstene. Så jeg legger til Text.Trim , deretter en avsluttende parentes, og trykker OK.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

La oss nå åpne Power Query Advanced Editor-vinduet fordi som jeg sa, jeg vil dele dette opp i veldig små biter. Jeg bruker variabler for å lagre mellomresultater for hvert av trinnene.

Vi kan lage et kommadelt sett med variabler i et let- uttrykk. Jeg kaller det første trinnet som ListTexts . Den siste avsluttende parentesen er fra tabellen vår som la til kolonnefunksjoner, så flytt den til en ny linje også. På slutten av det første uttrykket må vi sette inn et komma, slik at vi kan legge til et nytt uttrykk der.

Deretter lager vi et nytt variabelnavn, som jeg kaller FindPositions . Hele strengen er separert og renset. Alt vi trenger å gjøre er å finne plasseringen for strengen vi leter etter. For å gjøre det bruker vi en funksjon kalt ListPositionOf . Legg til åpningsparenteser, og vi kan returnere variabelen som vi allerede har laget (ListTexts).

Deretter setter vi verdien vi ser etter, og det er to store A-er. Motstykket til let er i klausulen, så vi må legge det til og returnere det til FindPositions . Trykk deretter på Ferdig.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Denne funksjonen tar en valgfri tredje parameter, så i formellinjen kan vi legge til den tredje parameteren. Og med det får vi en liste.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Målet er å trekke ut verdien før søkestrengen, så vi må flytte tilbake til en enkelt posisjon. Men vi har også nuller. Det er ingen verdi før den første startverdien i den strengen, og vi må unngå feil, så vi må ekskludere disse nullene, så vi går tilbake til Advanced Editor igjen og legger til litt logikk.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Vi må fortsatt gå tilbake til én posisjon. Så i Advanced Editor kan vi bruke List.Transform til å hjelpe oss.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Deretter bruker vi List.Transform for å hente strenger og få tilgang til elementer i listene våre.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Det siste trinnet er å kombinere alle tekstverdiene i listen til en enkelt streng. Og så skal jeg legge til en annen linje i logikken vår for resultatet med funksjonen Text.Combine .

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst

Og det er slik du kan trekke ut strenger før en spesifikk tekst med en fullstendig kodet løsning.

Bruke Power Query Advanced Editor for å trekke ut verdier før en bestemt tekst




Konklusjon

I denne opplæringen har du sett hvordan du trekker ut strenger før en bestemt tekst, og vi brukte flere tekster og lister opp M-funksjoner for å utføre den oppgaven. Jeg håper du likte denne. Du kan se hele videoopplæringen nedenfor for å se trinn-for-trinn-løsningen i detalj.

Beste ønsker!

Melissa


Pipe In R: Koblingsfunksjoner med Dplyr

Pipe In R: Koblingsfunksjoner med Dplyr

I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX Deep Dive: A LuckyTemplates DAX-funksjon

RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Trekker ut LuckyTemplates-temaer og bilder fra PBIX

Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

Excel Formulas Cheat Sheet: Mellomveiledning

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det

Python i LuckyTemplates: Hvordan installere og sette opp

Python i LuckyTemplates: Hvordan installere og sette opp

Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Beregning av dynamiske fortjenestemarginer – enkel analyse av LuckyTemplates med DAX

Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.

Sortering av datotabellkolonner i LuckyTemplates

Sortering av datotabellkolonner i LuckyTemplates

Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

Finn dine beste produkter for hver region i LuckyTemplates ved å bruke DAX

I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Søppeldimensjon: Hva er det og hvorfor det er alt annet enn søppel

Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.