Bagikan melalui


Table.Group

Sintaks

Table.Group(
    table as table,
    key as any,
    aggregatedColumns as list,
    optional groupKind as nullable number,
    optional comparer as nullable function
) as table

Tentang

Mengelompokkan baris table berdasarkan kolom kunci yang ditentukan oleh key. key bisa berupa satu nama kolom, atau daftar nama kolom. Untuk setiap grup, rekaman dibuat yang berisi kolom kunci (dan nilainya), serta kolom agregat yang ditentukan oleh aggregatedColumns. Secara opsional, groupKind dan comparer juga dapat ditentukan.

Jika data sudah diurutkan menurut kolom kunci, maka groupKind dapat disediakan. Ini dapat meningkatkan performa pengelompokan dalam kasus tertentu, karena semua baris dengan sekumpulan nilai kunci tertentu diasumsikan berdekatan.

Saat memasukkan comparer, harap diingat bahwa jika kunci yang berbeda diperlakukan sebagai sama, sebuah baris mungkin ditempatkan dalam grup yang kuncinya berbeda dari kunci baris itu sendiri.

Fungsi ini tidak menjamin urutan baris yang dikembalikannya.

Contoh 1

Kelompokkan tabel dengan menambahkan kolom agregat [total] yang berisi penjumlahan harga ("masing-masing List.Sum([harga])").

Penggunaan

Table.Group(
    Table.FromRecords({
        [CustomerID = 1, price = 20],
        [CustomerID = 2, price = 10],
        [CustomerID = 2, price = 20],
        [CustomerID = 1, price = 10],
        [CustomerID = 3, price = 20],
        [CustomerID = 3, price = 5]
    }),
    "CustomerID",
    {"total", each List.Sum([price])}
)

Hasil

Table.FromRecords(
    {
        [CustomerID = 1, total = 30],
        [CustomerID = 2, total = 30],
        [CustomerID = 3, total = 25]
    },
    {"CustomerID", "total"}
)

Fungsi pembanding