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 à table avec des valeurs représentatives de columnName. Les valeurs représentatives sont obtenus en mettant en correspondance de manière approximative les valeurs dans columnName pour chaque ligne.

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

  • Culture : Autorise le regroupement d’enregistrements en fonction de règles spécifiques à la culture. Vous pouvez utiliser n’importe quel nom de culture valide. Par exemple, l’option Culture « ja-JP » regroupe les enregistrements en fonction de la culture japonaise. La valeur par défaut ("") regroupe les enregistrements en fonction de la culture anglaise invariante.
  • IgnoreCase : Valeur logique (true/false) qui autorise le regroupement de clés ne respectant pas la casse. Par exemple, quand la valeur est true, « 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 pour trouver des groupes. Par exemple, quand la valeur est true, « Rai sins » est regroupé avec « Raisins ». La valeur par défaut est true.
  • SimilarityColumnName : Nom de la colonne qui montre la similarité entre une valeur d’entrée et la valeur représentative de cette entrée. La valeur par défaut est null (dans ce cas, une nouvelle colonne pour les similarités n’est pas ajoutée).
  • Threshold : Nombre compris entre 0,00 et 1,00 qui spécifie le score de similarité à partir duquel deux valeurs sont regroupées. Par exemple, « Raisins » et « Risins » (« a » manquant) sont regroupés seulement si cette option est définie avec une valeur inférieure à 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 permettant de regrouper des enregistrements en fonction de mappages de valeurs personnalisés. Elle doit contenir des colonnes « From » et « To ». Par exemple, « Raisins » est regroupé avec « Grappes » si une table de transformation est fournie avec « Raisins » dans la colonne « From » et « Grappes » dans la colonne « To ». Notez que la transformation sera appliquée à toutes les occurrences du texte de la table de transformation. Avec le tableau de transformation ci-dessus, « Les raisins ont un goût sucré » est aussi regroupé avec « Les grappes ont un goût sucré ».

Exemple 1

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

Sortie

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