Partager via


Table.AddFuzzyClusterColumn

Syntaxe

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

À propos

Ajoute une nouvelle colonne newColumnName avec table des valeurs représentatives de columnName. Les représentants sont obtenus par des valeurs de correspondance floue dans columnName, pour chaque ligne.

Un ensemble facultatif de options colonnes peut être inclus pour spécifier comment comparer les colonnes clés. Les options sont les suivantes :

  • Culture: autorise le regroupement d’enregistrements en fonction de règles spécifiques à la culture. Il peut s’agir de n’importe quel nom de culture valide. Par exemple, une option Culture de «ja-JP» regroupe les enregistrements basés sur la culture japonaise. La valeur par défaut est « », qui regroupe la culture anglaise invariante.
  • IgnoreCase: valeur logique (true/false) qui autorise le regroupement de clés sans respect de la casse. Par exemple, lorsqu’il est vrai, « Raisins » est regroupé avec « raisins ». La valeur par défaut est true.
  • IgnoreSpace: valeur logique (true/false) qui permet de combiner des parties de texte afin de rechercher des groupes. Par exemple, lorsqu’il est vrai, « Gra pes » est regroupé avec « Raisins ». La valeur par défaut est true.
  • SimilarityColumnName: nom de la colonne qui affiche la similarité entre une valeur d’entrée et la valeur représentative de cette entrée. La valeur par défaut est Null, auquel cas une nouvelle colonne pour les similitudes n’est pas ajoutée.
  • Threshold: nombre compris entre 0,00 et 1,00 qui spécifie le score de similarité auquel deux valeurs seront regroupées. Par exemple, « Raisins » et « Graes » (manquant le « p ») sont regroupés uniquement si cette option est définie sur moins de 0,90. Un seuil de 1,00 autorise uniquement les correspondances exactes. (Notez qu’une « correspondance exacte » approximative peut ignorer les différences telles que la casse, l’ordre des mots et la ponctuation.) La valeur par défaut est 0,80.
  • TransformationTable: table qui autorise le regroupement d’enregistrements en fonction des mappages de valeurs personnalisés. Il doit contenir des colonnes « From » et « To ». Par exemple, « Raisins » est regroupé avec « Raisins » si une table de transformation est fournie avec la colonne « From » contenant « Raisins » et la colonne « To » contenant « Raisins ». Notez que la transformation sera appliquée à toutes les occurrences du texte dans la table de transformation. Avec le tableau de transformation ci-dessus, « Les raisins sont sucrés » seront également regroupés avec « Raisins sont doux ».

Exemple 1

Recherchez les valeurs représentatives de l’emplacement des employés.

Utilisation

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]
)