Syntax
Table.AddFuzzyClusterColumn(
table as table,
columnName as text,
newColumnName as text,
optional options as nullable record
) as table
About
向具有代表性值的columnName列添加一个新列。newColumnNametable 代表通过对每行的模糊匹配值 columnName获取。
可以包含一组 options 可选选项来指定如何比较键列。 选项包括:
-
Culture:允许基于区域性特定的规则对记录进行分组。 它可以是任何有效的区域性名称。 例如,“ja-JP”的区域性选项基于日本区域性对记录进行分组。 默认值为“”,它基于固定英语区域性进行分组。 -
IgnoreCase:允许不区分大小写的键分组的逻辑值(true/false)。 例如,如果为 true,则“Grapes”与“grapes”分组。 默认值为真。 -
IgnoreSpace:一个逻辑(true/false)值,它允许合并文本部件以查找组。 例如,如果为 true,则“Gra pes”与“Grapes”分组。 默认值为真。 -
SimilarityColumnName:列的名称,显示输入值与该输入的代表值之间的相似性。 默认值为 null,在这种情况下,不会添加新的相似性列。 -
Threshold:一个介于 0.00 和 1.00 之间的数字,指定将分组两个值的相似性分数。 例如,仅当此选项设置为小于 0.90 时,才会将“Grapes”和“Graes”(缺少“p”)组合在一起。 阈值为 1.00 只允许完全匹配。 (请注意,模糊的“完全匹配”可能会忽略大小写、单词顺序和标点符号等差异。默认值为 0.80。 -
TransformationTable:允许基于自定义值映射对记录进行分组的表。 它应包含“From”和“To”列。 例如,如果将转换表与包含“Grapes”的“From”列和包含“Raisins”的“To”列一起分组,则“Grapes”将分组为“Raisins”。 请注意,转换将应用于转换表中文本的所有匹配项。 有了上面的转换表,“葡萄是甜的”也将与“葡萄是甜的”组合在一起。
示例 1
查找员工位置的代表值。
用法
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]
)