Table.FuzzyGroup
Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table
在各個資料列的指定資料行 key
中模糊比對值,將 table
的資料列進行分組。 每個群組會各建構一筆記錄,其中包含索引鍵資料行 (及其值) 以及 aggregatedColumns
所指定的任何彙總資料行。 這個函式無法保證傳回固定順序的資料列。
或可選擇加入一組 options
以指定索引鍵資料行的比較方式。 這些選項包括:
Culture
:允許根據文化特性特定規則來將記錄分組。 可以是任何有效的文化特性名稱。 例如,文化特性 (Culture) 選項 'ja-JP',會依據日文文化特性來將記錄分組。 預設值為 "",這會根據不變的英文文化特性進行分組。IgnoreCase
:允許不區分大小寫金鑰分組的邏輯 (true/false) 值。 例如,當為 true 時,"Grapes" 會與 "grapes" 分組在一起。 預設值為 True。IgnoreSpace
:允許結合文字部分以尋找群組的邏輯 (true/false) 值。 例如,當為 true 時,"Gra pes" 會與 "Grapes" 分組在一起。 預設值為 True。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" 分組在一起。 請注意,轉換會套用至轉換資料表中所有出現的文字。 使用上述的轉換資料表,"Grapes are sweet" 也會與 "Raisins are sweet" 分組在一起。
將新增彙總資料行 [計數] (各個位置 (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]
})