Table.FuzzyGroup
Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table
Grupperar raderna i table
genom att fuzzily matcha värden i den angivna kolumnen, key
, för varje rad. För varje grupp skapas en post som innehåller nyckelkolumnerna (och deras värden) tillsammans med eventuella aggregerade kolumner som anges av aggregatedColumns
. Den här funktionen kan inte garantera att returnera en fast radordning.
En valfri uppsättning options
kan inkluderas för att ange hur du jämför nyckelkolumnerna. Alternativen är:
-
Culture
: Tillåter gruppering av poster baserat på kulturspecifika regler. Det kan vara valfritt giltigt kulturnamn. Till exempel grupperar kulturalternativet "ja-JP" poster baserat på den japanska kulturen. Standardvärdet är "", som grupperar baserat på den invarianta engelska kulturen. -
IgnoreCase
: Ett logiskt värde (sant/falskt) som tillåter skiftlägesokänslig nyckelgruppering. När det till exempel är sant grupperas "Vindruvor" med "vindruvor". Standardvärdet är sant. -
IgnoreSpace
: Ett logiskt värde (sant/falskt) som gör det möjligt att kombinera textdelar för att hitta grupper. När det till exempel är sant grupperas "Gra pes" med "Vindruvor". Standardvärdet är sant. -
SimilarityColumnName
: Ett namn på kolumnen som visar likheten mellan ett indatavärde och det representativa värdet för indata. Standardvärdet är null, i vilket fall en ny kolumn för likheter inte läggs till. -
Threshold
: Ett tal mellan 0,00 och 1,00 som anger likhetspoängen där två värden ska grupperas. Till exempel grupperas "Vindruvor" och "Graes" (som saknar "p") endast tillsammans om det här alternativet är inställt på mindre än 0,90. Ett tröskelvärde på 1,00 tillåter bara exakta matchningar. (Observera att en fuzzy "exakt matchning" kan ignorera skillnader som hölje, ordordning och skiljetecken.) Standardvärdet är 0,80. -
TransformationTable
: En tabell som tillåter gruppering av poster baserat på anpassade värdemappningar. Den bör innehålla kolumnerna "Från" och "Till". Till exempel grupperas "Vindruvor" med "Russin" om en transformeringstabell tillhandahålls med kolumnen "Från" som innehåller "Vindruvor" och kolumnen "Till" som innehåller "Russin". Observera att omvandlingen tillämpas på alla förekomster av texten i transformeringstabellen. Med hjälp av ovanstående transformeringstabell kommer "Druvor är söta" också att grupperas med "Russin är söta".
Gruppera tabellen och lägg till en aggregeringskolumn [Antal] som innehåller antalet anställda på varje plats (each Table.RowCount(_)
).
Användning
Table.FuzzyGroup(
Table.FromRecords(
{
[EmployeeID = 1, Location = "Seattle"],
[EmployeeID = 2, Location = "seattl"],
[EmployeeID = 3, Location = "Vancouver"],
[EmployeeID = 4, Location = "Seatle"],
[EmployeeID = 5, Location = "vancover"],
[EmployeeID = 6, Location = "Seattle"],
[EmployeeID = 7, Location = "Vancouver"]
},
type table [EmployeeID = nullable number, Location = nullable text]
),
"Location",
{"Count", each Table.RowCount(_)},
[IgnoreCase = true, IgnoreSpace = true]
)
utdata
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})