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