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.
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.
Dialogboksen Klyngeverdier vises, der du kan angi navnet på den nye kolonnen. Gi navn til denne nye kolonneklyngen, og velg OK.
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 .
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 bananas
og 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.
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.
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 bananas
My 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.
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.
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
.
Obs!
For øyeblikket er det bare funksjonen for klyngeverdier i Power Query Online som gir en ny kolonne med likhetspoengsummen.
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:
- Transformasjonstabell i klyngeverdier
- Transformasjonstabell i uklare flettespørringer
- Transformasjonstabell i grupper etter
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.