Table.FuzzyGroup
Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table
table
satırlarını, her satır için key
belirtilen sütundaki bulanık eşleşen değerlere göre gruplandırır. Her grup için, aggregatedColumns
tarafından belirtilen tüm toplanmış sütunlarla birlikte anahtar sütunlarını (ve değerlerini) içeren bir kayıt oluşturulur. Bu işlev sabit bir satır sırası döndürmeyi garanti edemez.
Anahtar sütunların nasıl karşılaştırılacağını belirtmek için isteğe bağlı bir options
kümesi eklenebilir. Seçenekler şunlardır:
-
Culture
: Kayıtları kültüre özgü kurallara göre gruplandırmanıza izin verir. Herhangi bir geçerli kültür adı olabilir. Örneğin, "ja-JP" kültür seçeneği kayıtları Japon kültürüne göre gruplandırmaktadır. Varsayılan değer, Sabit İngilizce kültürüne göre gruplanan ""dir. -
IgnoreCase
: Büyük/küçük harfe duyarsız anahtar gruplandırmasına izin veren mantıksal (true/false) değer. Örneğin, doğru olduğunda, "Üzümler" "üzümler" ile aynı gruba dahil edilir. Varsayılan değer true değeridir. -
IgnoreSpace
: Grupları bulmak için metin bölümlerinin birleştirilmesine olanak tanıyan mantıksal (true/false) değer. Örneğin, doğru olduğunda, "Gra pes" "Üzümler" ile gruplandırılır. Varsayılan değer true değeridir. -
SimilarityColumnName
: Giriş değeri ile bu girişin temsili değeri arasındaki benzerliği gösteren sütun adı. Varsayılan değer null değeridir ve bu durumda benzerlikler için yeni bir sütun eklenmez. -
Threshold
: İki değerin gruplandırılacağı benzerlik puanını belirten 0,00 ile 1,00 arasında bir sayıdır. Örneğin, "Üzümler" ve "Graes" ("p" eksik) yalnızca bu seçenek 0,90'dan küçük olarak ayarlanmışsa birlikte gruplandırılır. 1,00 eşiği yalnızca tam eşleşmelere izin verir. (Benzer bir "tam eşleşme"nin büyük/küçük harf, sözcük sırası ve noktalama işaretleri gibi farkları yoksayabileceğini unutmayın.) Varsayılan değer 0,80'dir. -
TransformationTable
: Kayıtların özel değer eşlemelerine göre gruplandırılmasına izin veren tablo. "Gönderen" ve "Giden" sütunları içermelidir. Örneğin, bir dönüştürme tablosunda "Kimden" sütununda "Üzüm" ve "Kime" sütununda "Kuru Üzüm" bulunuyorsa, "Üzüm", "Kuru Üzüm" ile gruplandırılır. Dönüştürmenin, dönüştürme tablosundaki metnin tüm oluşumlarına uygulanacağını unutmayın. Yukarıdaki dönüştürme tablosuyla "Üzümler tatlıdır" ifadesi de "Kuru üzümler tatlıdır" ile gruplandırılır.
Her konumdaki çalışanların sayısını içeren bir toplama sütunu (each Table.RowCount(_)
) ekleyerek tabloyu gruplandırın .
Kullanım
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]
)
çıkış
Table.FromRecords({
[Location = "Seattle", Count = 4],
[Location = "Vancouver", Count = 3]
})