Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Składnia
Table.FuzzyGroup(
table as table,
key as any,
aggregatedColumns as list,
optional options as nullable record
) as table
O nas
Grupuje wiersze z table przez przybliżone dopasowywanie wartości w określonej kolumnie key dla każdego wiersza. Dla każdej grupy tworzony jest rekord zawierający kolumny klucza (i ich wartości) wraz z wszystkimi zagregowanymi kolumnami określonymi przez aggregatedColumns. Ta funkcja nie może zagwarantować zwrócenia stałej kolejności wierszy.
Opcjonalny zestaw options można uwzględnić, aby określić, jak porównywać kolumny kluczowe. Dostępne 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 rozróżniania 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
Grupuj tabelę, dodając kolumnę agregacji [Count], która zawiera liczbę pracowników w każdej lokalizacji (each Table.RowCount(_)).
Użycie
Table.FuzzyGroup(
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",
{"Count", each Table.RowCount(_)},
[IgnoreCase = true, IgnoreSpace = true]
)
Wynik
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})