Table.FuzzyGroup
Raggruppa le righe nella tabella in base alla corrispondenza fuzzy delle chiavi.
Syntax
Table.FuzzyGroup(
table as table,
key as any,
aggregatedColumns as list,
optional options as record
) as table
Remarks
Raggruppa le righe di table
in base ai valori con corrispondenza fuzzy nella colonna specificata, key
, per ogni riga. Per ogni gruppo, viene creato un record contenente le colonne chiave (e i relativi valori) insieme a tutte le colonne aggregate specificate da aggregatedColumns
. Questa funzione non può garantire la restituzione di un ordine fisso di righe. È anche possibile includere un set facoltativo di options
per specificare la modalità di confronto delle colonne chiave. Le opzioni includono:
Culture
: Consente di raggruppare i record in base a regole specifiche delle impostazioni cultura. Può essere qualsiasi nome di impostazioni cultura valido. Ad esempio, l'opzione delle impostazioni cultura "ja-JP" raggruppa i record in base alle impostazioni cultura per il giapponese. Il valore predefinito è "", che raggruppa in base alle impostazioni cultura inglese non dipendenti da paese/area geografica.IgnoreCase
: Valore logico (true/false) che consente di raggruppare le chiavi senza distinzione tra maiuscole e minuscole. Ad esempio, quando è true, il termine "Uva" è raggruppato con "uva". Il valore predefinito è true.IgnoreSpace
: Valore logico (true/false) che consente la combinazione di parti di testo per trovare i gruppi. Ad esempio, quando è true, il termine "Uva" è raggruppato con "Uva". Il valore predefinito è true.SimilarityColumnName
: Nome per la colonna che mostra la similarità tra un valore di input e il valore rappresentativo per tale input. Il valore predefinito è Null, nel qual caso non verrà aggiunta una nuova colonna per le similarità.Threshold
: Numero compreso tra 0,00 e 1,00 che specifica il punteggio di somiglianza in base a cui verranno raggruppati due valori. Ad esempio, i termini "Uva" e "Ua" ("v" mancante) sono raggruppati solo se questa opzione è impostata su un valore inferiore a 0,90. Una soglia di 1,00 consente corrispondenze esatte. (Si noti che una "corrispondenza esatta" fuzzy potrebbe ignorare differenze quali la combinazione di maiuscole e minuscole, l'ordine delle parole e la punteggiatura.) Il valore predefinito è 0,80.TransformationTable
: Tabella che consente di raggruppare i record in base a mapping di valori personalizzati. Deve contenere le colonne "Da" e "A". Ad esempio, il termine "Uva" viene raggruppato con "Uvetta" se viene specificata una tabella di trasformazione con la colonna "Da" contenente "Uva" e la colonna "A" contenente "Uvetta". Si noti che la trasformazione verrà applicata a tutte le occorrenze del testo nella tabella di trasformazione. Con la tabella di trasformazione precedente, la frase "L'uva è dolce" sarà raggruppata anche con la frase "L'uvetta è dolce".
Examples
Example #1
Raggruppare la tabella aggiungendo una colonna aggregata [Count] contenente il numero di dipendenti in ogni sede ("each Table.RowCount(_))").
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]
)
Result:
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})
Category
Table.Transformation