Baca dalam bahasa Inggris

Bagikan melalui


Table.FuzzyGroup

Sintaksis

Table.FuzzyGroup(table as table, key as any, aggregatedColumns as list, optional options as nullable record) as table

Tentang

Mengelompokkan baris dari table dengan mencocokkan nilai secara samar di kolom yang ditentukan, key, untuk setiap baris. Untuk setiap grup, rekaman dibuat berisi kolom kunci (dan nilainya) bersama dengan kolom agregat yang ditentukan oleh aggregatedColumns. Fungsi ini tidak dapat menjamin untuk mengembalikan urutan baris tetap.

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

  • Culture: Memungkinkan pengelompokan rekaman berdasarkan aturan khusus budaya. Ini bisa menjadi nama budaya yang valid. Misalnya, pilihan budaya dari "ja-JP" mengelompokkan rekaman-rekaman berdasarkan budaya Jepang. Nilai defaultnya adalah "", yang mengelompokkan berdasarkan budaya Bahasa Inggris Invariant.
  • IgnoreCase: Nilai logis (benar/salah) yang memungkinkan pengelompokan kunci tanpa memperhatikan huruf besar/kecil. Misalnya, ketika benar, "Anggur" dikelompokkan dengan "anggur". Nilai defaultnya adalah true.
  • IgnoreSpace: Nilai logis (benar/salah) yang memungkinkan penggabungan bagian teks untuk menemukan kelompok. Misalnya, ketika pembenarannya benar, "Gra pes" akan 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, "Grapes" dan "Graes" (salah eja karena kehilangan "p") dikelompokkan bersama hanya jika opsi ini diatur ke kurang dari 0,90. Ambang batas 1,00 hanya mengizinkan kecocokan yang tepat. (Perhatikan bahwa "kecocokan persis" fuzzy mungkin mengabaikan perbedaan seperti penggunaan huruf besar/kecil, urutan kata, dan tanda baca.) Nilai bawaannya adalah 0,80.
  • TransformationTable: Tabel yang memungkinkan pengelompokan rekaman berdasarkan pemetaan nilai kustom. Ini harus berisi kolom "Dari" dan "Ke". Misalnya, "Anggur" akan dikelompokkan dengan "Kismis" apabila ada tabel transformasi yang 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

Kelompokkan tabel yang menambahkan kolom agregat [Hitungan] yang berisi jumlah karyawan di setiap lokasi (each Table.RowCount(_)).

Penggunaan

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

Output

Table.FromRecords({
    [Location = "Seattle", Count = 4],
    [Location = "Vancouver", Count = 3]
})