Bagikan melalui


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

  1. Tambahkan tombol, dan atur properti Teks agar tombolnya menampilkan Asli.
  2. 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}
)
  1. Sambil menekan terus tombol Alt, pilih tombol Asli.

    Anda baru saja membuat koleksi, bernama CityPopulations, yang berisi data ini:

    CityPopulations.

  2. Untuk menampilkan koleksi ini, pilih Koleksi pada menu File, lalu pilih koleksi CityPopulations. Lima rekaman pertama dalam koleksi akan ditampilkan:

    Koleksi CityPopulations.

Rekaman grup

  1. Tambahkan tombol lain, dan atur properti Teks ke "Grup".

  2. Atur properti OnSelect dari tombol ini ke rumus ini:

    ClearCollect( KotaBerdasarkan Negara, Kelompok: ( Populasi Kota, Negara, Kota ) )

  3. 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.

    Kota dikelompokkan.

  4. Untuk menampilkan lima rekaman pertama dalam koleksi ini, pilih Koleksi pada menu File.

    Kota menurut negara/wilayah.

  5. Untuk menampilkan populasi kota di suatu negara/wilayah, pilih ikon tabel di kolom Kota untuk negara/wilayah tersebut (misalnya, Jerman):

    Populasi - Jerman.

Filter dan hapus grup rekaman

  1. Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Filter".

  2. Atur properti OnSelect dari tombol ini ke rumus ini:

    ClearCollect( CitiesByCountryFiltered, Filter( CitiesByCountry, "e" di Country ) )

  3. 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).

    CitiesByCountryFiltered.

  4. Tambahkan satu tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Hapus grup".

  5. Atur properti OnSelect dari tombol ini ke rumus ini:

    ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities ) )

    Yang menghasilkan:

    Kota berdasarkan negara/wilayah setelah dipisahkan kelompok.

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.

  1. Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "Total".

  2. Atur properti OnSelect pada tombol Total ke rumus ini:

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Jumlah Populasi Kota', Sum( Kota, Populasi ) )

    Yang menghasilkan:

    Jumlah kota.

    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.

  3. Tambahkan tombol lainnya, dan atur properti Teks agar tombolnya menampilkan "SumOnly".

  4. Atur properti OnSelect pada tombol "SumOnly" ke rumus ini:

    ClearCollect( CityPopulationsSumOnly, DropColumns( CityPopulationsSum, Cities )

    Yang menghasilkan:

    Jumlah Negara.

    Perhatikan bahwa kita tidak perlu menghapus kelompok tabel ini.