Table.AddFuzzyClusterColumn
Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table
Добавляет новый столбец newColumnName
в table
с репрезентативными значениями columnName
. Представители получаются с помощью нечеткого сравнения значений в columnName
для каждой строки.
Необязательный набор options
может быть добавлен, чтобы указать, как сравнить ключевые столбцы. Варианты включают:
-
Culture
: позволяет группировать записи в зависимости от культурных правил. Это может быть любое допустимое название культуры. Например, опция "Культура" "ja-JP" группирует записи на основе японской культуры. Значение по умолчанию — "", которое группируется на основе инвариантной английской культуры. -
IgnoreCase
: логическое значение (истина/ложь), позволяющее группировать ключи без учета регистра символов. Например, если условие истинно, "Виноград" группируется с "виноградом". Значение по умолчанию — true. -
IgnoreSpace
: логическое значение (true/false), позволяющее объединять текстовые части для поиска групп. Например, если это правда, "Gra pes" группируется с "Виноград". Значение по умолчанию — true. -
SimilarityColumnName
: имя столбца, показывающее сходство между входным значением и репрезентативным значением для этого ввода. Значение по умолчанию равно NULL, в этом случае новый столбец для сходства не будет добавлен. -
Threshold
: число от 0,00 до 1.00, указывающее оценку сходства, по которой будут сгруппированы два значения. Например, "Виноград" и "Graes" (с отсутствующей буквой 'p') группируются только в том случае, если эта опция имеет значение меньше 0,90. Пороговое значение 1.00 допускает только точные совпадения. (Обратите внимание, что нечеткое "точное совпадение" может игнорировать различия, такие как регистр, порядок слов и знак препинания.) Значение по умолчанию — 0,80. -
TransformationTable
: таблица, которая позволяет группировать записи на основе сопоставлений настраиваемых значений. Он должен содержать столбцы From и To. Например, "Виноград" группируется с "Изюм", если таблица преобразования предоставляется со столбцом "Из", содержащим "Виноград", и со столбцом "В", содержащим "Изюм". Обратите внимание, что преобразование будет применено ко всем текстовым вхождениям в таблице преобразования. С помощью приведенной выше таблицы преобразования "Виноград сладкий" также будет сгруппирован с "Изюм сладкий".
Найдите репрезентативные значения расположения сотрудников.
использование
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]
)
Выход
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]
)