Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sintassi
Table.FuzzyGroup(
table as table,
key as any,
aggregatedColumns as list,
optional options as nullable record
) as table
Informazioni
Raggruppa le righe di table tramite corrispondenza fuzzy dei valori 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 di restituire un ordine fisso delle righe.
È 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 della cultura. Può essere qualsiasi nome cultura valido. Ad esempio, con l'opzione cultura "ja-JP" i record vengono raggruppati in base alla cultura giapponese. Il valore predefinito è "", che esegue il raggruppamento in base alla cultura invariata inglese. -
IgnoreCase: valore logico (true/false) che consente il raggruppamento di chiavi senza distinzione tra maiuscole e minuscole. Ad esempio, quando è vero, "Uva" viene raggruppata 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 è vero, "Uva" viene raggruppato con "Uva". Il valore predefinito è true. -
SimilarityColumnName: nome della colonna che mostra la somiglianza 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 somiglianze. -
Threshold: numero compreso tra 0,00 e 1,00 che specifica il punteggio di somiglianza in corrispondenza del quale verranno raggruppati due valori. Ad esempio, "Uva" e "Ua" (manca la "v") vengono raggruppati solo se questa opzione è impostata su meno di 0,90. Una soglia di 1,00 permette solo corrispondenze esatte. Si noti che una "corrispondenza esatta" fuzzy potrebbe ignorare le differenze, ad esempio maiuscole e minuscole, ordine delle parole e punteggiatura. Il valore predefinito è 0,80. -
TransformationTable: tabella che consente il raggruppamento di record in base ai mapping di valori personalizzati. Deve contenere le colonne "From" e "To". Ad esempio, "Uva" viene raggruppata con "Uvetta" se si specifica una tabella di trasformazione in cui la colonna "From" contiene "Uva" e la colonna "To" contiene "Uvetta". Si noti che la trasformazione verrà applicata a tutte le occorrenze del testo nella tabella di trasformazione. Con la tabella di trasformazione precedente, "Uva è dolce" sarà raggruppato anche con "Uva passa è dolce".
Esempio 1
Raggruppare la tabella aggiungendo una colonna aggregata [Count] contenente il numero di dipendenti in ogni sede (each Table.RowCount(_)).
Utilizzo
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]
)
Output
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})