Compartilhar via


Table.AddFuzzyClusterColumn

Sintaxe

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

Sobre

Adiciona uma nova coluna newColumnName a table com valores representativos de columnName. Os valores representativos são obtidos por meio da correspondência difusa dos valores em columnName para cada linha.

Um conjunto opcional de options pode ser incluído para especificar como comparar as colunas de chave. As opções incluem:

  • Culture: permite agrupar registros com base em regras específicas da cultura. Pode ser qualquer nome de cultura válido. Por exemplo, a opção de Culture "ja-JP" agrupa registros com base no idioma japonês. O valor padrão é "", que faz o agrupamento com base na cultura inglês invariável.
  • IgnoreCase: um valor lógico (true/false) que permite fazer o agrupamento de chaves sem diferenciar maiúsculas de minúsculas. Por exemplo, quando true, "Grapes" é agrupado com "grapes". O valor padrão é true.
  • IgnoreSpace: um valor lógico (true/false) que permite a combinação de partes de textos a fim de localizar grupos. Por exemplo, quando true, "Gra pes" é agrupado com "Grapes". O valor padrão é true.
  • SimilarityColumnName: um nome para a coluna que mostra a similaridade entre um valor de entrada e o valor representativo dessa entrada. O valor padrão é nulo e, nesse caso, não será adicionada uma nova coluna de similaridades.
  • Threshold: um número entre 0.00 e 1.00 que especifica a pontuação de similaridade com a qual dois valores serão agrupados. Por exemplo, "Grapes" e "Graes" (sem o "p") serão agrupados somente se essa opção estiver configurada como inferior a 0,90. Um limite de 1,00 só permite correspondências exatas. (Observe que uma "correspondência exata" difusa pode ignorar diferenças como maiúsculas, ordem de palavras e pontuação.) O valor padrão é 0,80.
  • TransformationTable: uma tabela que permite agrupar registros com base em mapeamentos de valor personalizados. Deve conter as colunas "From" e "To". Por exemplo, "Grapes" será agrupado com "Raisins" se for fornecida uma tabela de transformação com a coluna "From" contendo "Grapes" e a coluna "To" contendo "Raisins". Observe que a transformação será aplicada a todas as ocorrências do texto na tabela de transformação. Com a tabela de transformação acima, a frase "Grapes are sweet" também será agrupada com a frase "Raisins are sweet".

Exemplo 1

Localize os valores representativos da localização dos funcionários.

Usage

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

Saída

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