Table.FuzzyGroup
Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table
Группирует строки по table
fuzzily совпадающим значениям в указанном столбце для key
каждой строки. Для каждой группы создается запись, содержащая ключевые столбцы (и их значения) вместе с любыми агрегированными столбцами, указанными aggregatedColumns
в . Эта функция не может гарантировать возврат фиксированного порядка строк.
Необязательный набор options
может быть включен, чтобы указать, как сравнить ключевые столбцы. Возможные варианты:
Culture
: позволяет группировать записи на основе правил языка и региональных параметров. Это может быть любое допустимое имя языка и региональных параметров. Например, параметр "Язык и региональные параметры" групп ja-JP на основе японского языка и региональных параметров. Значение по умолчанию — "", которое группируется на основе инвариантного английского языка и региональных параметров.IgnoreCase
: логическое значение (true/false), позволяющее группировать ключи без учета регистра. Например, если значение true, "Виноград" группируется с "виноградом". Значение по умолчанию — true.IgnoreSpace
: логическое значение (true/false), позволяющее объединять текстовые части для поиска групп. Например, если значение true, "Gra pes" группируется с "Виноград". Значение по умолчанию — true.SimilarityColumnName
: имя столбца, показывающее сходство между входным значением и репрезентативным значением для этого ввода. Значение по умолчанию равно NULL, в этом случае новый столбец для сходства не будет добавлен.Threshold
: число от 0,00 до 1.00, указывающее оценку сходства, по которой будут сгруппированы два значения. Например, "Виноград" и "Graes" (отсутствующие "p") группируются только в том случае, если этот параметр имеет значение менее 0,90. Пороговое значение 1.00 допускает только точные совпадения. (Обратите внимание, что нечеткое "точное совпадение" может игнорировать различия, такие как регистр, порядок слов и знак препинания.) Значение по умолчанию — 0,80.TransformationTable
: таблица, которая позволяет группировать записи на основе сопоставлений настраиваемых значений. Он должен содержать столбцы From и To. Например, "Виноград" группируется с "Raisins", если таблица преобразования предоставляется с столбцом From, содержащим "Виноград" и столбец "To", содержащий "Изюм". Обратите внимание, что преобразование будет применено ко всем вхождениям текста в таблице преобразования. С приведенной выше таблицей преобразования", "Виноград сладкий" также будет сгруппирован с "Изюм сладкий".
Группировать таблицу, добавляющую агрегатный столбец [Count], содержащий количество сотрудников в каждом расположении (each Table.RowCount(_)
).
Использование
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]
)
Выходные данные
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})