Condividi tramite


Table.AddFuzzyClusterColumn

Sintassi

Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table

Informazioni su

Aggiunge una nuova colonna newColumnName a table con valori rappresentativi di columnName. I valori rappresentativi vengono ottenuti mediante la corrispondenza fuzzy dei valori in columnName, per ogni riga.

È 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, con l'opzione Culture "ja-JP" i record vengono raggruppati in base alle impostazioni cultura Giapponese. Il valore predefinito è "", che esegue il raggruppamento in base alle impostazioni cultura Inglese invariante.
  • IgnoreCase: valore logico (true/false) che consente il raggruppamento di chiavi senza distinzione tra maiuscole e minuscole. Ad esempio, se true, "Uva" viene 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, se true, "U va" 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 "Uv" (senza la "a") vengono raggruppati solo se questa opzione è impostata su meno di 0,90. Una soglia di 1,00 consente 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 raggruppato con "Uva passa" se si specifica una tabella di trasformazione in cui la colonna "From" contiene "Uva" e la colonna "To" contiene "Uva passa". 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

Trovare i valori rappresentativi per la posizione dei dipendenti.

Utilizzo

Table.AddFuzzyClusterColumn(
    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",
    "Location_Cleaned",
    [IgnoreCase = true, IgnoreSpace = true]
)

Output

Table.FromRecords(
    {
        [EmployeeID = 1, Location = "Seattle", Location_Cleaned = "Seattle"],
        [EmployeeID = 2, Location = "seattl", Location_Cleaned = "Seattle"],
        [EmployeeID = 3, Location = "Vancouver", Location_Cleaned = "Vancouver"],
        [EmployeeID = 4, Location = "Seatle", Location_Cleaned = "Seattle"],
        [EmployeeID = 5, Location = "vancover", Location_Cleaned = "Vancouver"],
        [EmployeeID = 6, Location = "Seattle", Location_Cleaned = "Seattle"],
        [EmployeeID = 7, Location = "Vancouver", Location_Cleaned = "Vancouver"]
    },
    type table [EmployeeID = nullable number, Location = nullable text, Location_Cleaned = nullable text]
)