Compartir vía


Table.AddFuzzyClusterColumn

Syntax

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

Acerca de

Agrega una nueva columna newColumnName a table con valores representativos de columnName. Los representantes se obtienen mediante valores coincidentes fuzzily en columnName, para cada fila.

Se puede incluir un conjunto opcional de para especificar cómo comparar las columnas de options clave. Entre las opciones se incluyen:

  • Culture: permite agrupar registros en función de reglas específicas de la referencia cultural. Puede ser cualquier nombre de referencia cultural válido. Por ejemplo, una opción Culture de "ja-JP" agrupa registros basados en la referencia cultural japonesa. El valor predeterminado es "", que se agrupa en función de la referencia cultural de inglés invariable.
  • IgnoreCase: valor lógico (true/false) que permite la agrupación de claves sin distinción entre mayúsculas y minúsculas. Por ejemplo, cuando es true, "Uvas" se agrupa con "uvas". El valor predeterminado es true.
  • IgnoreSpace: valor lógico (true/false) que permite combinar elementos de texto para buscar grupos. Por ejemplo, cuando es true, "Gra pes" se agrupa con "Uvas". El valor predeterminado es true.
  • SimilarityColumnName: un nombre para la columna que muestra la similitud entre un valor de entrada y el valor representativo de esa entrada. El valor predeterminado es NULL, en cuyo caso no se agregará una nueva columna para similitudes.
  • Threshold: un número entre 0,00 y 1,00 que especifica la puntuación de similitud en la que se agruparán dos valores. Por ejemplo, "Uvas" y "Graes" (falta la "p") solo se agrupan si esta opción está establecida en menos de 0,90. Un umbral de 1,00 solo permite coincidencias exactas. (Tenga en cuenta que una "coincidencia exacta" aproximada podría omitir diferencias como mayúsculas y minúsculas, orden de palabras y puntuación). El valor predeterminado es 0,80.
  • TransformationTable: tabla que permite agrupar registros en función de asignaciones de valores personalizadas. Debe contener columnas "From" y "To". Por ejemplo, "Uvas" se agrupa con "Raisins" si se proporciona una tabla de transformación con la columna "From" que contiene "Uvas" y la columna "To" que contiene "Raisins". Tenga en cuenta que la transformación se aplicará a todas las apariciones del texto de la tabla de transformación. Con la tabla de transformación anterior, "Las uvas son dulces" también se agruparán con "Las pasas son dulces".

Ejemplo 1

Busque los valores representativos de la ubicación de los empleados.

Uso

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

Salida

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