Bagikan melalui


Table.AddFuzzyClusterColumn

Sintaksis

Table.AddFuzzyClusterColumn(table as table, columnName as text, newColumnName as text, optional options as nullable record) as table

Tentang

Menambahkan kolom baru newColumnName ke table dengan nilai representatif dari columnName. Perwakilan diperoleh dengan mencocokkan nilai secara samar-samar di columnNameuntuk setiap baris.

Sekumpulan options opsional dapat disertakan untuk menentukan cara membandingkan kolom kunci. Opsinya meliputi:

  • Culture: Memungkinkan pengelompokan rekaman berdasarkan aturan khusus budaya. Ini bisa merupakan nama kebudayaan yang valid. Misalnya, opsi "Budaya" bernilai "ja-JP" mengelompokkan catatan berdasarkan budaya Jepang. Nilai defaultnya adalah "", yang mengelompokkan berdasarkan budaya Bahasa Inggris Invariant.
  • IgnoreCase: Nilai logis (benar/salah) yang memungkinkan pengelompokan kunci yang tidak peka huruf besar/kecil. Misalnya, ketika benar, "Anggur" dikelompokkan dengan "anggur". Nilai defaultnya adalah true.
  • IgnoreSpace: Nilai logika (benar/salah) yang memungkinkan penggabungan bagian teks untuk menemukan kelompok. Misalnya, ketika benar, "Gra pes" dikelompokkan dengan "Anggur". Nilai defaultnya adalah true.
  • SimilarityColumnName: Nama untuk kolom yang menunjukkan kesamaan antara nilai input dan nilai perwakilan untuk input tersebut. Nilai default adalah null, dalam hal ini kolom baru untuk kesamaan tidak akan ditambahkan.
  • Threshold: Angka antara 0,00 dan 1,00 yang menentukan skor kesamaan di mana dua nilai akan dikelompokkan. Misalnya, "Anggur" dan "Graes" (tanpa "p") dikelompokkan bersama hanya jika opsi ini diatur menjadi kurang dari 0,90. Ambang batas 1,00 hanya memungkinkan kecocokan yang tepat. (Perhatikan bahwa "kecocokan persis" fuzzy mungkin mengabaikan perbedaan seperti casing, urutan kata, dan tanda baca.) Nilai defaultnya adalah 0,80.
  • TransformationTable: Tabel yang memungkinkan pengelompokan rekaman berdasarkan pemetaan nilai kustom. Ini harus berisi kolom "Dari" dan "Ke". Misalnya, "Anggur" dikelompokkan dengan "Kismis" jika tabel transformasi disediakan dengan kolom "Dari" yang berisi "Anggur" dan kolom "Ke" yang berisi "Kismis". Perhatikan bahwa transformasi akan diterapkan ke semua kemunculan teks dalam tabel transformasi. Dengan tabel transformasi di atas, "Anggur manis" juga akan dikelompokkan dengan "Kismis manis".

Contoh 1

Temukan nilai yang mewakili untuk lokasi karyawan.

Penggunaan

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]
)

Output

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]
)