Les på engelsk

Del via


hvordan tilnærmet samsvar fungerer i Power Query

Power Query-funksjoner som fuzzy-fletting, klyngeverdier og uklar gruppering bruker de samme mekanismene til å fungere som fuzzy matching.

Denne artikkelen går gjennom mange scenarier som viser hvordan du kan dra nytte av alternativene som fuzzy matching har, med mål om å gjøre "fuzzy" klart.

Juster likhetsterskelen

Det beste scenarioet for å bruke fuzzy match-algoritmen er når alle tekststrenger i en kolonne bare inneholder strengene som må sammenlignes, og ingen ekstra komponenter. For eksempel, sammenligne Apples mot 4ppl3s gir høyere likhet score enn å My favorite fruit, by far, is Apples. I simply love them!sammenligne med Apples .

Fordi ordet Apples i den andre strengen bare er en liten del av hele tekststrengen, gir denne sammenligningen en lavere likhetspoengsum.

Følgende datasett består for eksempel av svar fra en undersøkelse som bare hadde ett spørsmål: «Hva er favorittfrukten din?»

Fruit
Blåbær
Blå bær er rett og slett de beste
Jordbær
Jordbær = <3
Epler
'sples
4ppl3s
Bananer
fav frukt er bananer
Banas
Min favoritt frukt, langt, er epler. Jeg elsker dem ganske enkelt!

Undersøkelsen ga én enkelt tekstboks for å skrive inn verdien og hadde ingen validering.

Nå får du i oppgave å gruppere verdiene. Hvis du vil gjøre denne oppgaven, laster du inn den forrige tabellen med frukter i Power Query, merker kolonnen og velger deretter alternativet Klyngeverdier på fanen Legg til kolonne på båndet.

Skjermbilde med alternativet for klyngeverdier i Legg til kolonne-fanen på båndet som er tilgjengelig etter at du har valgt Frukt-kolonnen fra tabellen.

Dialogboksen Klyngeverdier vises, der du kan angi navnet på den nye kolonnen. Gi navn til denne nye kolonneklyngen, og velg OK.

Skjermbilde av dialogboksen for klyngeverdier etter at du har valgt Frukt-kolonnen. Det nye kolonnenavnfeltet er satt til Klynge.

Som standard bruker Power Query en likhetsterskel på 0,8 (eller 80 %). Minimumsverdien på 0,00 fører til at alle verdier med et likhetsnivå samsvarer med hverandre, og maksimumsverdien på 1,00 tillater bare nøyaktige treff. Et uklart «nøyaktig treff» kan ignorere forskjeller som foringsrør, ordrekkefølge og tegnsetting. Resultatet av den forrige operasjonen gir tabellen nedenfor med en ny klyngekolonne .

Skjermbilde av standardutdataene med en ny klyngekolonne etter at du har utført klyngeverdier-operasjonen på Frukt-kolonnen med standardverdier.

Selv om klyngen er ferdig, gir den deg ikke de forventede resultatene for alle radene. Rad nummer to (2) har fremdeles verdien Blue berries are simply the best, men den bør grupperes til Blueberries, og noe lignende skjer med tekststrengene Strawberries = <3, fav fruit is bananasog My favorite fruit, by far, is Apples. I simply love them!.

Hvis du vil finne ut hva som forårsaker denne klyngen, dobbeltklikker du grupperte verdier i panelet Brukte trinn for å hente tilbake dialogboksen Klyngeverdier . Utvid alternativer for fuzzy-klynger i denne dialogboksen. Aktiver alternativet Vis resultater for likhetsresultater, og velg deretter OK.

Skjermbilde av vinduet for klyngeverdier der alternativene for fuzzy-klyngen vises, og alternativet vis likhetsresultater er valgt.

Hvis du aktiverer alternativet Vis resultater for likhetsresultater, opprettes en ny kolonne i tabellen. Denne kolonnen viser nøyaktig likhetspoengsummen mellom den definerte klyngen og den opprinnelige verdien.

Skjermbilde av tabellen med en ny kolonne for likhetspoengsum kalt Fruit_Cluster_Similarity.

Ved nærmere inspeksjon finner ikke Power Query andre verdier i likhetsterskelen for tekststrengene Blue berries are simply the best,Strawberries = <3 og fav fruit is bananasMy favorite fruit, by far, is Apples. I simply love them!.

Gå tilbake til dialogboksen Klyngeverdier én gang til ved å dobbeltklikke Grupperte verdier i panelet Brukte trinn. Endre likhetsterskelen fra 0,8 til 0,6, og velg deretter OK.

Skjermbilde av dialogboksen for klyngeverdier med de uklare klyngealternativene som vises, og likhetsterskelen angitt til 0,6.

Denne endringen får deg nærmere resultatet du leter etter, bortsett fra tekststrengen My favorite fruit, by far, is Apples. I simply love them!. Når du endret terskelverdien for likhet fra 0,8 til 0,6, kunne Power Query nå bruke verdiene med en likhetspoengsum som starter fra 0,6 helt opp til 1.

Skjermbilde av tabellen etter å ha definert likhetsterskelen på 0,6 med nye verdier tilordnet i klyngekolonnen.

Obs!

Power Query bruker alltid verdien nærmest terskelen til å definere klyngene. Terskelen definerer den nedre grensen for likhetspoengsummen som er akseptabel for å tilordne verdien til en klynge.

Du kan prøve på nytt ved å endre likhetsresultatet fra 0,6 til et lavere tall til du får resultatene du leter etter. I dette tilfellet kan du endre likhetspoengsummen til 0,5. Denne endringen gir det nøyaktige resultatet du forventer med tekststrengen My favorite fruit, by far, is Apples. I simply love them! som nå er tilordnet til klyngen Apples.

Skjermbilde av tabellen med alle de riktige verdiene i klyngekolonnen.

Obs!

For øyeblikket er det bare funksjonen for klyngeverdier i Power Query Online som gir en ny kolonne med likhetspoengsummen.

Spesielle hensyn for transformasjonstabell

Transformasjonstabellen hjelper deg med å tilordne verdier fra kolonnen til nye verdier før du utfører den uklare samsvarende algoritmen.

Noen eksempler på hvordan transformasjonstabellen kan brukes:

Viktig

Når transformasjonstabellen brukes, er den maksimale likhetspoengsummen for verdiene fra transformasjonstabellen 0,95. Denne bevisste straffen på 0,05 er på plass for å skille at den opprinnelige verdien fra en slik kolonne ikke er lik verdiene den ble sammenlignet med siden en transformasjon oppstod.

For scenarioer der du først vil tilordne verdiene dine og deretter utføre fuzzy-samsvar uten 0,05-straffen, anbefaler vi at du erstatter verdiene fra kolonnen og deretter utfører fuzzy-samsvaret.