Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

Och med det ger det oss en lista med separerade textvärden.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

Därefter använder vi List.Transform för att hämta strängar och komma åt objekt i våra listor.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

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 .

Använda Power Query Advanced Editor för att extrahera värden före en specifik text

Och det är så du kan extrahera strängar före en specifik text med en helt kodad lösning.

Använda Power Query Advanced Editor för att extrahera värden före en specifik text




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


Pipe In R: Anslutningsfunktioner med Dplyr

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.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

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.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

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

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

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.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

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.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

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.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

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.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

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.