Table.AddFuzzyClusterColumn

Sintaxis

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

Acerca de

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

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

  • Culture: permite agrupar registros a partir de reglas específicas de la referencia cultural. Puede ser cualquier nombre de referencia cultural válido. Por ejemplo, la opción "ja-JP" del valor Culture agrupa los registros con base en la referencia cultural japonesa. El valor predeterminado es "", que realiza la agrupación con base en la referencia cultural inglesa invariable.
  • IgnoreCase: valor lógico ("true" o "false") que permite la agrupación de claves sin distinción entre mayúsculas y minúsculas. Por ejemplo, si es "true", "Uvas" se agrupa con "uvas". El valor predeterminado es true.
  • IgnoreSpace: valor lógico ("true" o "false") que permite combinar elementos de texto para buscar agrupaciones. Por ejemplo, si es "true", "Uv as" se agrupa con "uvas". El valor predeterminado es true.
  • SimilarityColumnName: nombre de la columna que muestra la similitud entre un valor de entrada y el valor representante de esa entrada. El valor predeterminado es NULL, en cuyo caso no se agregará una columna nueva para similitudes.
  • Threshold: número comprendido 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 "Uas" (sin la "v") solo coincidirán si esta opción se establece con un valor inferior a 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, el orden de palabras y los signos de puntuación). El valor predeterminado es 0,80.
  • TransformationTable: tabla que permite agrupar registros con base en asignaciones de valores personalizadas. Debe incluir las columnas "From" y "To". Por ejemplo, "Uvas" se agrupa con "Pasas" si se proporciona una tabla de transformación en la que la columna "From" contiene "Uvas" y la columna "To" contiene "Pasas". Tenga en cuenta que la transformación se aplicará a todas las repeticiones del texto en la tabla de transformación. Con la tabla de transformación anterior, "las uvas son dulces" también se agrupará con "las pasas son dulces".

Ejemplo 1

Encuentre los valores representativos para 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]
)