Fungsi GroupBy dan Ungroup
Berlaku untuk: Aplikasi kanvas Aplikasi berdasarkan model Power Pages
Membuat grup dan menghapus grup rekaman tabel.
Description
Fungsi GroupBy menghasilkan tabel dengan rekaman yang dikelompokkan berdasarkan nilai pada satu atau beberapa kolom. Rekaman dalam grup yang sama ditempatkan dalam satu rekaman, dengan ditambahkan kolom yang menyarangkan tabel kolom yang tersisa.
Fungsi Ungroup membalikkan proses GroupBy. Fungsi ini menghasilkan tabel, memecahkan ke dalam rekaman terpisah dari rekaman yang dikelompokkan bersama.
Anda dapat membuat grup rekaman menggunakan GroupBy, ubah tabel yang akan dihasilkan, lalu melakukan menghapus grup rekaman dalam tabel yang dimodifikasi menggunakan Hapus grup. Misalnya, Anda dapat menghapus grup rekaman dengan mengikuti pendekatan ini:
- Gunakan fungsi GroupBy.
- Gunakan fungsi Filter untuk menghapus seluruh grup rekaman.
- Gunakan fungsi Ungroup.
Anda juga dapat mengagregasikan hasil berdasarkan pengelompokan:
- Gunakan fungsi GroupBy.
- Gunakan fungsi AddColumns dengan Sum,Average ..., dan fungsi agregat lainnya untuk menambahkan kolom baru, yang merupakan agregat tabel grup.
- Gunakan fungsi DropColumns untuk membuka tabel grup.
Ungroup mencoba mempertahankan urutan asli rekaman yang diumpankan ke GroupBy. Hal ini tidak selalu memungkinkan (misalnya, jika tabel asli berisi rekaman kosong).
Tabel adalah nilai dalam Power Apps, seperti string atau angka. Anda dapat menentukan tabel sebagai argumen untuk fungsi, dan fungsi dapat menghasilkan tabel. GroupBy dan Ungroup tidak memodifikasi tabel; melainkan mereka mengambil tabel sebagai argumen dan mengembalikan tabel yang berbeda. Lihat: bekerja dengan tabel untuk detail lebih lanjut.
Catatan
Sebelum Power Apps versi 3.24042, nama kolom ditentukan dengan string teks menggunakan tanda kutip ganda, dan jika terhubung ke sumber data mereka juga harus menjadi nama logis. Misalnya, nama logis "cr43e_name" dengan tanda kutip ganda digunakan sebagai pengganti nama tampilan Nama tanpa tanda kutip. Untuk dan SharePoint sumber data Excel yang berisi nama kolom dengan spasi, setiap spasi ditentukan dengan "_x0020_", misalnya "Nama Kolom"sebagai "Column_x0020_Name". Setelah versi ini, semua aplikasi secara otomatis diperbarui ke sintaks baru yang dijelaskan dalam artikel ini.
Sintaks
GroupBy(Tabel,Nama Kolom1 [, Nama Kolom2 , ... ],Nama Kolom Grup)
- Tabel - Wajib. Tabel yang akan dikelompokkan.
- ColumnNames - Wajib. Nama kolom di Tabel yang digunakan untuk mengelompokkan rekaman. Kolom ini menjadi kolom dalam tabel hasil.
- GroupColumnName - Wajib. Nama kolom untuk penyimpanan data rekaman tidak dalam ColumnName.
Hapus kelompok( Tabel,Nama Kolom Grup)
- Tabel - Wajib. Tabel yang akan dihapus kelompoknya.
- GroupColumnName - Wajib. Kolom yang berisi penyiapan data rekaman dengan fungsi GroupBy.
Contoh
Membuat koleksi
- Tambahkan tombol, dan atur properti Teks agar tombolnya menampilkan Asli.
- Atur properti OnSelect pada tombol "Asli" ke rumus ini:
ClearCollect( CityPopulations,
{ City: "London", Country: "United Kingdom", Population: 8615000},
{ City: "Berlin", Country: "Germany", Population: 3562000},
{ City: "Madrid", Country: "Spain", Population: 3165000},
{ City: "Rome", Country: "Italy", Population: 2874000},
{ City: "Paris", Country: "France", Population: 2273000},
{ City: "Hamburg", Country: "Germany", Population: 1760000},
{ City: "Barcelona", Country: "Spain", Population: 1602000},
{ City: "Munich", Country: "Germany", Population: 1494000},
{ City: "Milan", Country: "Italy", Population: 1344000}
)
Sambil menekan terus tombol Alt, pilih tombol Asli.
Anda baru saja membuat koleksi, bernama CityPopulations, yang berisi data ini:
Untuk menampilkan koleksi ini, pilih Koleksi pada menu File, lalu pilih koleksi CityPopulations. Lima rekaman pertama dalam koleksi akan ditampilkan:
Rekaman grup
Tambahkan tombol lain, dan atur properti Teks ke "Grup".
Atur properti OnSelect dari tombol ini ke rumus ini:
ClearCollect( KotaBerdasarkan Negara, Kelompok: ( Populasi Kota, Negara, Kota ) )
Sambil menekan terus tombol Alt, pilih tombol Grup.
Anda baru saja membuat koleksi, bernama CitiesByCountry, di mana rekaman dari koleksi sebelumnya dikelompokkan berdasarkan kolom Country.
Untuk menampilkan lima rekaman pertama dalam koleksi ini, pilih Koleksi pada menu File.
Untuk menampilkan populasi kota di suatu negara/wilayah, pilih ikon tabel di kolom Kota untuk negara/wilayah tersebut (misalnya, Jerman):
Filter dan hapus grup rekaman
Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Filter".
Atur properti OnSelect dari tombol ini ke rumus ini:
ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" di Country ) )
Sambil menekan terus tombol Alt, pilih tombol yang Anda tambahkan.
Anda baru saja membuat koleksi ketiga, bernama CitiesByCountryFiltered, yang mencakup hanya negara yang memiliki "e" dalam namanya (yaitu, bukan Spanyol atau Italia).
Tambahkan satu tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Hapus grup".
Atur properti OnSelect dari tombol ini ke rumus ini:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )
Yang menghasilkan:
Hasil agregat
Operasi lain yang dapat kita lakukan pada tabel yang dikelompokkan adalah mengkompilasi hasilnya. Dalam contoh ini, kita akan menjumlahkan populasi kota-kota besar di setiap negara/wilayah.
Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Total".
Atur properti OnSelect pada tombol Total ke rumus ini:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Jumlah Populasi Kota', Sum( Kota, Populasi ) )
Yang menghasilkan:
AddColumns dimulai dengan koleksi dasar CitiesByCountry dan menambahkan kolom baru Jumlah Populasi Kota. Nilai kolom ini dihitung baris demi baris, berdasarkan jumlah Sum( Cities, Population ). AddColumns menyediakan nilai kolom Kota (tabel) untuk setiap baris, dan Sum menambahkan Populasi untuk setiap baris sub tabel ini.
Sekarang setelah kita memiliki jumlah yang kita inginkan, kita dapat menggunakan DropColumns untuk menghapus sub-tabel.
Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "SumOnly".
Atur properti OnSelect pada tombol "SumOnly" ke rumus ini:
ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities )
Yang menghasilkan:
Perhatikan bahwa kita tidak perlu menghapus kelompok tabel ini.