Fuzzy samenvoegen is een slimme functie voor gegevensvoorbereiding die u kunt gebruiken om fuzzy overeenkomende algoritmen toe te passen bij het vergelijken van kolommen. Deze algoritmen proberen overeenkomsten te vinden in de tabellen die worden samengevoegd.
U kunt fuzzy overeenkomsten onder aan het dialoogvenster Samenvoegen inschakelen door de fuzzy vergelijking gebruiken te selecteren om de knop samenvoeging uit te voeren. Meer informatie: Overzicht van samenvoegbewerkingen
Notitie
Fuzzy overeenkomsten worden alleen ondersteund voor samenvoegbewerkingen via tekstkolommen. Power Query maakt gebruik van het jaccard-gelijkenis-algoritme om de gelijkenis tussen paren exemplaren te meten.
Voorbeeldscenario
Een veelvoorkomend gebruiksvoorbeeld voor fuzzy overeenkomsten is met vrije-vormtekstvelden, zoals in een enquête. Voor dit artikel is de voorbeeldtabel rechtstreeks uit een online enquête genomen die naar een groep is verzonden met slechts één vraag: Wat is uw favoriete fruit?
De resultaten van die enquête worden weergegeven in de volgende afbeelding.
Schermopname van de uitvoertabel van de voorbeeldenquête met de kolomdistributiegrafiek met negen afzonderlijke antwoorden met alle unieke antwoorden en de antwoorden op de enquête met alle typfouten, meervoud of enkelvoud en caseproblemen.
De negen records weerspiegelen de inzendingen van de enquête. Het probleem met de inzendingen van de enquête is dat sommige typefouten hebben, sommige zijn meervoud, sommige zijn enkelvoud, sommige hoofdletters en sommige zijn kleine letters.
Als u deze waarden wilt standaardiseren, hebt u in dit voorbeeld een verwijzingstabel fruit .
Schermopname van de referentietabel Fruit met kolomdistributiegrafiek met vier afzonderlijke vruchten met alle vruchten uniek en de lijst met vruchten: appel, ananas, watermeloen en banaan.
Notitie
Ter vereenvoudiging bevat deze referentietabel Voor fruit alleen de naam van de vruchten die nodig zijn voor dit scenario. Uw referentietabel kan zoveel rijen bevatten als u nodig hebt.
Het doel is om een tabel te maken zoals hieronder, waarbij u al deze waarden hebt gestandaardiseerd, zodat u meer analyses kunt uitvoeren.
Schermopname van de uitvoertabel van de voorbeeldenquête met de kolom Vraag met de kolomdistributiegrafiek. In de grafiek ziet u negen unieke antwoorden met alle antwoorden die uniek zijn. De antwoorden op de enquête bevatten alle typfouten, meervoud of enkelvoud en caseproblemen. De uitvoertabel bevat ook de kolom Fruit. Deze kolom bevat de kolomdistributiegrafiek met vier afzonderlijke antwoorden met één uniek antwoord. Ook worden alle vruchten correct gespeld, enkelvoud en de juiste hoofdletters vermeld.
Fuzzy samenvoegbewerking
Als u de fuzzy samenvoeging wilt uitvoeren, begint u met een samenvoeging. In dit geval gebruikt u een left outer join, waarbij de linkertabel de tabel is uit de enquête en de rechtertabel de verwijzingstabel Fruit is. Schakel onderaan het dialoogvenster het selectievakje Fuzzy gebruiken in om het samenvoegvak uit te voeren.
Nadat u OK hebt geselecteerd, ziet u een nieuwe kolom in de tabel vanwege deze samenvoegbewerking. Als u deze uitvouwt, is er één rij die geen waarden bevat. Dat is precies wat het dialoogvenster in de vorige afbeelding zei: 'De selectie komt overeen met 8 van 9 rijen uit de eerste tabel'.
Schermopname van de kolom Fruit die is toegevoegd aan de tabel Enquête. Alle rijen in de kolom Vraag zijn uitgevouwen, met uitzondering van rij 9, die niet kon worden uitgevouwen en de kolom Fruit null bevat.
Opties voor fuzzy overeenkomsten
U kunt de fuzzy overeenkomende opties wijzigen om aan te passen hoe de overeenkomst bij benadering moet worden uitgevoerd. Selecteer eerst de opdracht Query's samenvoegen en vouw vervolgens in het dialoogvenster Samenvoegen fuzzy overeenkomende opties uit.
De beschikbare opties zijn:
Drempelwaarde voor overeenkomsten (optioneel): een waarde tussen 0,00 en 1,00 die de mogelijkheid biedt om records te vergelijken boven een bepaalde overeenkomstscore. Een drempelwaarde van 1,00 is hetzelfde als het opgeven van een exacte overeenkomstcriteria. Druiven komt bijvoorbeeld alleen overeen met Graes (ontbrekende letter p) als de drempelwaarde is ingesteld op minder dan 0,90. Deze waarde is standaard ingesteld op 0,80.
Hoofdlettergebruik negeren: hiermee kunt u overeenkomende records toestaan, ongeacht het geval van de tekst.
Overeenkomst door tekstonderdelen te combineren: hiermee kunt u tekstonderdelen combineren om overeenkomsten te vinden. Micro soft wordt bijvoorbeeld vergeleken met Microsoft als deze optie is ingeschakeld.
Overeenkomstenscores weergeven: Geeft overeenkomstenscores weer tussen de invoer en de overeenkomende waarden na fuzzy overeenkomsten.
Aantal overeenkomsten (optioneel): hiermee geeft u het maximum aantal overeenkomende rijen op dat voor elke invoerrij kan worden geretourneerd.
Transformatietabel (optioneel):staat overeenkomende records toe op basis van aangepaste waardetoewijzingen. Druiven wordt bijvoorbeeld vergeleken met Rozijnen als er een transformatietabel wordt opgegeven waarin de kolom Van druiven bevat en de kolom Aan rozijnen bevat.
Transformatietabel
Voor het voorbeeld in dit artikel kunt u een transformatietabel gebruiken om de waarde met een ontbrekend paar toe te wijzen. Deze waarde is apls, die moet worden toegewezen aan Apple. De transformatietabel heeft twee kolommen:
Van bevat de waarden die moeten worden gevonden.
Als u de waarden wilt bevatten die worden gebruikt om de gevonden waarden te vervangen met behulp van de kolom Van .
Voor dit artikel ziet de transformatietabel er als volgt uit:
Van
Tot
apls
Apple
U kunt teruggaan naar het dialoogvenster Samenvoegen en in fuzzy overeenkomende opties onder Aantal overeenkomsten voert u 1 in. Schakel de optie Overeenkomstenscores weergeven in en selecteer onder Transformatietabel de optie Tabel transformeren in de vervolgkeuzelijst.
Nadat u OK hebt geselecteerd, kunt u naar de samenvoegstap gaan. Wanneer u de kolom met tabelwaarden uitvouwt, ziet u naast het veld Fruit ook het veld Overeenkomstenscore. Selecteer beide en vouw ze uit zonder een voorvoegsel toe te voegen.
Nadat u deze twee velden hebt uitgevouwen, worden ze toegevoegd aan de tabel. Let op de waarden die u krijgt voor de overeenkomstenscores van elke waarde. Deze scores kunnen u helpen bij verdere transformaties, indien nodig om te bepalen of u de drempelwaarde voor overeenkomsten moet verlagen of verhogen.
In dit voorbeeld dient de score Overeenkomsten alleen als aanvullende informatie en is deze niet nodig in de uitvoer van deze query, zodat u deze kunt verwijderen. Let op hoe het voorbeeld is gestart met negen afzonderlijke waarden, maar na de fuzzy samenvoeging zijn er slechts vier afzonderlijke waarden.
Schermopname van de uitvoertabel van de enquête met fuzzy merge met de kolomdistributiegrafiek met negen afzonderlijke antwoorden met alle unieke antwoorden en de antwoorden op de enquête met alle typfouten, meervoud of enkelvoud en caseproblemen. Bevat ook de kolom Fruit met de kolomdistributiegrafiek met vier unieke antwoorden met één uniek antwoord en vermeldt alle vruchten die correct zijn gespeld, enkelvoud en het juiste hoofdlettergebruik.
Meer informatie over het schrijven van Kusto-querytaal -query's (KQL) om gegevens uit twee of meer tabellen te combineren en op te halen met behulp van de operators 'lookup', 'join' en 'union'.