Läs på engelska

Dela via


Hur fuzzy-matchning fungerar i Power Query

Power Query-funktioner som fuzzy-sammanslagning, klustervärden och fuzzy-gruppering använder samma mekanismer för att fungera som fuzzy-matchning.

Den här artikeln går igenom många scenarier som visar hur du kan dra nytta av de alternativ som fuzzy matchning har, med målet att göra "fuzzy" tydlig.

Justera tröskelvärdet för likhet

Det bästa scenariot för att tillämpa fuzzy-matchningsalgoritmen är när alla textsträngar i en kolumn endast innehåller de strängar som behöver jämföras och inga extra komponenter. Om du till exempel jämför Apples med ger högre likhetspoäng än att Apples My favorite fruit, by far, is Apples. I simply love them!jämföra med 4ppl3s .

Eftersom ordet Apples i den andra strängen bara är en liten del av hela textsträngen ger den jämförelsen en lägre likhetspoäng.

Följande datauppsättning består till exempel av svar från en undersökning som bara hade en fråga – "Vad är din favoritfrukt?"

Frukt
Blåbär
Blå bär är helt enkelt de bästa
Jordgubbar
Jordgubbar = <3
Äpplen
'sples
4ppl3s
Bananas
fav frukt är bananer
Banas
Min favoritfrukt är äpplen. Jag älskar dem helt enkelt!

Undersökningen tillhandahöll en enda textruta för att mata in värdet och hade ingen validering.

Nu har du till uppgift att klustra värdena. Om du vill utföra den uppgiften läser du in den tidigare frukttabellen i Power Query, väljer kolumnen och väljer sedan alternativet Klustervärdenfliken Lägg till kolumn i menyfliksområdet.

Skärmbild med alternativet klustervärden på fliken Lägg till kolumn i menyfliksområdet som är tillgängligt när du har valt kolumnen Frukt från tabellen.

Dialogrutan Klustervärden visas, där du kan ange namnet på den nya kolumnen. Namnge det här nya kolumnklustret och välj OK.

Skärmbild av dialogrutan klustervärden när du har valt kolumnen Frukt. Det nya kolumnnamnsfältet är inställt på Kluster.

Som standard använder Power Query ett likhetströskelvärde på 0,8 (eller 80 %). Minimivärdet 0,00 gör att alla värden med någon likhetsnivå matchar varandra, och det maximala värdet på 1,00 tillåter endast exakta matchningar. En fuzzy "exakt matchning" kan ignorera skillnader som hölje, ordordning och skiljetecken. Resultatet av föregående åtgärd ger följande tabell med en ny klusterkolumn .

Skärmbild av standardutdata med en ny klusterkolumn när du har utfört åtgärden Klustervärden i kolumnen Fruit med standardvärden.

Klustring är klar, men du får inte det förväntade resultatet för alla rader. Rad nummer två (2) har fortfarande värdet Blue berries are simply the best, men det bör grupperas till Blueberries, och något liknande händer med textsträngarna Strawberries = <3, fav fruit is bananasoch My favorite fruit, by far, is Apples. I simply love them!.

Om du vill ta reda på vad som orsakar klustring dubbelklickar du på Klustrade värden i panelen Tillämpade steg för att ta tillbaka dialogrutan Klustervärden . I den här dialogrutan expanderar du Fuzzy-klusteralternativ. Aktivera alternativet Visa likhetspoäng och välj sedan OK.

Skärmbild av fönstret klustervärden med de fuzzy-klusteralternativ som visas och alternativet visa likhetspoäng valt.

Om du aktiverar alternativet Visa likhetspoäng skapas en ny kolumn i tabellen. Den här kolumnen visar den exakta likhetspoängen mellan det definierade klustret och det ursprungliga värdet.

Skärmbild av tabellen med en ny likhetspoängkolumn med namnet Fruit_Cluster_Similarity.

Vid närmare kontroll kunde Power Query inte hitta några andra värden i likhetströskelvärdet för textsträngarna Blue berries are simply the best,Strawberries = <3, fav fruit is bananasoch My favorite fruit, by far, is Apples. I simply love them!.

Gå tillbaka till dialogrutan Klustervärden en gång till genom att dubbelklicka på Klustrade värden i panelen Tillämpade steg. Ändra tröskelvärdet för likhet från 0,8 till 0,6 och välj sedan OK.

Skärmbild av dialogrutan klustervärden med de fuzzy-klusteralternativ som visas och likhetströskelvärdet inställt på 0,6.

Den här ändringen tar dig närmare det resultat som du letar efter, förutom textsträngen My favorite fruit, by far, is Apples. I simply love them!. När du ändrade tröskelvärdet för likhet från 0,8 till 0,6 kunde Power Query nu använda värdena med en likhetspoäng som börjar från 0,6 hela vägen upp till 1.

Skärmbild av tabellen när likhetströskelvärdet har definierats till 0,6 med nya värden tilldelade i kolumnen Kluster.

Anteckning

Power Query använder alltid det värde som är närmast tröskelvärdet för att definiera klustren. Tröskelvärdet definierar den lägre gränsen för likhetspoängen som är acceptabel för att tilldela värdet till ett kluster.

Du kan försöka igen genom att ändra likhetspoängen från 0,6 till ett lägre tal tills du får de resultat du letar efter. I det här fallet ändrar du likhetspoängen till 0,5. Den här ändringen ger det exakta resultat som du förväntar dig med textsträngen My favorite fruit, by far, is Apples. I simply love them! som nu har tilldelats klustret Apples.

Skärmbild av tabellen med alla rätt värden i kolumnen Kluster.

Anteckning

För närvarande innehåller endast funktionen Klustervärden i Power Query Online en ny kolumn med likhetspoängen.

Särskilda överväganden för transformeringstabellen

Transformeringstabellen hjälper dig att mappa värden från kolumnen till nya värden innan du utför den fuzzy matchande algoritmen.

Några exempel på hur transformeringstabellen kan användas:

Viktigt

När transformeringstabellen används är den maximala likhetspoängen för värdena från transformeringstabellen 0,95. Den här avsiktliga påföljden 0,05 är på plats för att skilja det ursprungliga värdet från en sådan kolumn inte är lika med de värden som det jämfördes med sedan en omvandling inträffade.

För scenarier där du först vill mappa dina värden och sedan utföra fuzzy-matchningen utan straffvärdet 0,05 rekommenderar vi att du ersätter värdena från kolumnen och sedan utför fuzzy-matchningen.