Ersätt värde för matchande text i Power Query

Om du någonsin har haft ett krav på att utföra flera exakta textmatchningsersättningar, finns det en god chans att du har utfört en rad ersättningsvärdessteg. Men som alltid finns det flera och enklare sätt att uppnå samma resultat. Du kan se hela videon av denna handledning längst ner på den här bloggen.

I dagens blogg kommer jag att demonstrera M-funktionen Record.FieldOrDefault för detta specifika användningsfall. 

Innehållsförteckning

Steg för att ersätta värde för flera texter med exakt matchning 

Navigera i datamängden

Låt oss börja med att öppna för att komma åt provdata- och ersättningsposten .

Inuti tabellen ser vi att inte alla textsträngar är vänsterjusterade.

Ersätt värde för matchande text i Power Query

När vi flyttar till Ersättningar kan vi undersöka vårt register och förstå varför den här metoden bara kan fungera för att ersätta exakta textmatchningar. 

En post är en uppsättning fält och varje fält har ett namn-värdepar.

Fältnamnet måste vara en unik text i posten med Record.FieldOrDefault. 

Ersätt värde för matchande text i Power Query

Fältnamnet kommer att användas för att identifiera den sak som vi letar efter, medan fältvärdet som kommer att användas för ersättningen kan vara av vilken typ som helst. 

Ersätter värdena

Låt oss se hur det fungerar. 

Först går jag till lösningsfrågan och på fliken Transformera väljer jag Ersätt värden.

Ersätt värde för matchande text i Power Query

Ett popup-fönster kommer att dyka upp och jag trycker på OK

Ersätt värde för matchande text i Power Query

Detta genererar huvuddelen av formuläret. Så allt jag behöver göra är att uppdatera syntaxen i formelfältet. 

Ersätt värde för matchande text i Power Query

Från formeln kan vi se att den kallar vår källtabell som det första argumentet och det vi letar efter som det andra argumentet. Argumenten betecknas med dessa dubbla citattecken (" ").

Ersätt värde för matchande text i Power Query

Det jag letar efter är värdet i kolumn ett, så jag skriver varje [Col1] för det första argumentet. Därefter vill den att saken ska ersätta boten, och det är här jag kommer att använda den inspelningsfunktionen. 

Jag kommer att skriva varje Record.FieldOrDefault. Sedan vill den ha posten eller ersättningen och slutligen det vi letar efter. Jag kan hitta det i kolumn ett så jag kommer att kopiera och klistra in [Col1] från det första argumentet för att referera tillbaka. 

Om värdet inte hittas i posten vill jag att det ska returnera det som finns där. Därför kommer jag att klistra in [Col1] igen för att referera till kolumn ett om värdet saknas. Om jag utelämnar den här sista parametern och objektet inte hittas i posten kommer en null att returneras istället.

Dessa ändringar gör att vår formel ser ut så här.

Ersätt värde för matchande text i Power Query

Låt oss bekräfta genom att klicka på kontrollikonen till vänster om formelfältet.

Resultatet visas i bilden nedan.

Ersätt värde för matchande text i Power Query

Varje textvärde i kolumn ett som hade ett matchande fältnamn i ersättningsposten har nu uppdaterats.




Slutsats

I den här bloggen demonstrerade jag hur man gör flera exakt matchande textersättningar i . Genom att använda M-funktionen Record.FieldOrDefault kan du spara tid genom att minska de steg som krävs för att uppnå samma resultat. 

Med vänliga hälsningar,

Melissa de Korte


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.