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 menurut table kolom kunci yang ditentukan oleh key. key bisa berupa satu nama kolom, atau daftar nama kolom. Untuk setiap grup, rekaman dibuat berisi kolom kunci (dan nilainya), bersama dengan kolom agregat yang ditentukan oleh aggregatedColumns. Secara opsional, groupKind dan comparer juga dapat ditentukan.

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

Saat meneruskan comparer, perhatikan bahwa jika memperlakukan kunci yang berbeda sama, baris dapat ditempatkan dalam grup yang kuncinya berbeda dari kuncinya sendiri.

Fungsi ini tidak menjamin urutan baris yang dikembalikannya.

Contoh 1

Kelompokkan tabel yang menambahkan kolom agregat [total] yang berisi jumlah harga ("each List.Sum([price])").

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"}
)