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