Udostępnij za pośrednictwem


Table.AddFuzzyClusterColumn

Składnia

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

O nas

Dodaje nową kolumnę newColumnName do table z reprezentatywnymi wartościami columnName. Przedstawiciele są uzyskiwani poprzez rozmyte dopasowywanie wartości w columnNamedla każdego wiersza.

Opcjonalny zestaw options można uwzględnić w celu określenia sposobu porównywania kolumn kluczy. Dostępne są następujące opcje:

  • Culture: umożliwia grupowanie rekordów na podstawie reguł specyficznych dla kultury. Może to być dowolna prawidłowa nazwa kultury. Na przykład opcja Kultura "ja-JP" grupuje rekordy na podstawie kultury japońskiej. Wartość domyślna to "", która grupuje się na podstawie niezmiennej kultury języka angielskiego.
  • IgnoreCase: wartość logiczna (prawda/fałsz), która umożliwia grupowanie kluczy bez uwzględniania wielkości liter. Na przykład, gdy wartość to "prawda", "Winogrona" są grupowane z "winogronami". Wartość domyślna to true.
  • IgnoreSpace: wartość logiczna (prawda/fałsz), która umożliwia łączenie części tekstowych w celu znalezienia grup. Na przykład, kiedy ustawienie jest prawdziwe, "Gra pes" jest grupowane z "Winogronami". Wartość domyślna to true.
  • SimilarityColumnName: nazwa kolumny, która pokazuje podobieństwo między wartością wejściową a reprezentatywną wartością dla tych danych wejściowych. Wartość domyślna to null, w tym przypadku nowa kolumna podobieństwa nie zostanie dodana.
  • Threshold: liczba z zakresu od 0,00 do 1,00 określająca wynik podobieństwa, w którym zostaną zgrupowane dwie wartości. Na przykład "Winogrona" i "Graes" (z brakującym "p") są grupowane razem tylko wtedy, gdy ta opcja jest ustawiona na mniej niż 0,90. Próg 1,00 pozwala tylko na dokładne dopasowania. (Należy pamiętać, że rozmyte "dokładne dopasowanie" może ignorować różnice, takie jak wielkość liter, kolejność wyrazów i interpunkcja). Wartość domyślna to 0,80.
  • TransformationTable: tabela umożliwiająca grupowanie rekordów na podstawie mapowań wartości niestandardowych. Powinna zawierać kolumny "From" i "To". Na przykład "Winogrona" są grupowane z "Rodzynkami", jeśli tabela przekształceń jest dostarczana z kolumną "From" zawierającą "Winogrona" i kolumną "Do" zawierającą "Rodzynki". Należy pamiętać, że przekształcenie zostanie zastosowane do wszystkich wystąpień tekstu w tabeli przekształceń. Dzięki powyższej tabeli transformacji "Winogrona są słodkie" będą również zgrupowane z "Rodzynki są słodkie".

Przykład 1

Znajdź reprezentatywne wartości lokalizacji pracowników.

Użycie

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

Wyjście

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