Bagikan melalui


AddColumns, , DropColumnsRenameColumns, dan ShowColumns fungsi

Berlaku untuk: Aplikasi Canvas Copilot Studio Desktop mengalir aplikasi berbasis model Fungsi Power Platform CLI Dataverse

Membentuk tabel atau rekaman dengan menambahkan, menghilangkan, mengganti nama, dan memilih kolomnya.

Fungsi ForAll juga dapat digunakan untuk membentuk tabel, dengan mengembalikan tabel rekaman baru yang dibuat dari kolom yang sudah ada.

Gambaran Umum

Fungsi-fungsi ini membentuk tabel atau rekaman dengan menyesuaikan kolomnya:

  • Kurangi tabel atau rekaman yang berisi beberapa kolom ke satu kolom untuk digunakan dengan fungsi kolom tunggal, seperti Lower atau Sqrt.
  • Tambahkan kolom terhitung ke tabel atau rekaman (misalnya, kolom Total Harga yang memperlihatkan hasil mengalikan Kuantitas dengan Harga Satuan).
  • Ubah nama kolom menjadi sesuatu yang lebih bermakna, untuk ditampilkan kepada pengguna atau untuk digunakan dalam formula.

Tabel adalah nilai dalam Power Apps, seperti string atau angka. Anda dapat menentukan tabel sebagai argumen dalam rumus, dan fungsi dapat mengembalikan tabel sebagai hasilnya.

Catatan

Fungsi yang dijelaskan topik ini tidak akan memodifikasi tabel asli. Sebagai gantinya, fungsi ini mengambil tabel sebagai argumen dan mengembalikan tabel baru dengan transformasi diterapkan. Untuk informasi selengkapnya, lihat bekerja dengan tabel.

Anda tidak dapat memodifikasi kolom sumber data menggunakan fungsi ini. Anda harus memodifikasi data pada sumbernya. Anda dapat menambahkan kolom ke kumpulan dengan fungsi Collect. Untuk informasi selengkapnya, lihat bekerja dengan sumber data.

Description

Fungsi menambahkan AddColumns kolom ke tabel atau rekaman, dan rumus menentukan nilai di kolom tersebut. Kolom yang ada tetap tidak dimodifikasi.

Rumus dievaluasi untuk rekaman yang disediakan, atau untuk setiap rekaman tabel yang disediakan.

Bidang rekaman yang sedang diproses tersedia dalam formula. Menggunakan operator ThisRecord atau hanya bidang referensi berdasarkan nama seperti nilai lainnya. Operator As juga dapat digunakan untuk menamai rekaman yang sedang diproses yang dapat membantu membuat formula lebih mudah dipahami dan membuat rekaman bersarang dapat diakses. Untuk informasi selengkapnya, lihat contoh di bawah ini dan menggunakan cakupan rekaman.

Fungsi ini DropColumns mengecualikan kolom dari tabel atau rekaman. Semua kolom lainnya tetap tidak dimodifikasi. DropColumns mengecualikan kolom, dan ShowColumns menyertakan kolom.

RenameColumns Gunakan fungsi untuk mengganti nama satu atau beberapa kolom tabel atau rekaman dengan menyediakan setidaknya satu pasangan argumen yang menentukan nama kolom yang dimuat tabel atau rekaman (nama lama, yang ingin Anda ganti) dan nama kolom yang tidak dimuat tabel atau rekaman (nama baru, yang ingin Anda gunakan). Nama lama harus sudah ada dalam tabel atau rekaman, dan nama baru tidak boleh ada. Setiap nama kolom mungkin hanya muncul sekali dalam daftar argumen sebagai nama kolom lama atau nama kolom baru. Untuk mengganti nama kolom menjadi nama kolom yang sudah ada, pertama-tama letakkan kolom yang ada dengan DropColumns, atau ganti nama kolom yang ada dengan menumpuk satu RenameColumns fungsi dalam fungsi lain.

Fungsi ini ShowColumns mencakup kolom tabel atau rekaman dan menghilangkan semua kolom lainnya. Anda bisa menggunakan ShowColumns untuk membuat tabel atau rekaman kolom tunggal dari tabel atau rekaman multikolom. ShowColumns menyertakan kolom, dan DropColumns mengecualikan kolom.

Untuk semua fungsi ini, hasilnya adalah tabel atau rekaman baru dengan transformasi yang diterapkan. Tabel atau rekaman asli tidak dimodifikasi. Anda tidak dapat mengubah tabel atau rekaman yang sudah ada dengan rumus. SharePoint, Microsoft Dataverse, SQL Server, dan sumber data lainnya menyediakan alat untuk memodifikasi kolom daftar dan tabel, yang sering disebut sebagai skema. Fungsi dalam topik ini hanya mengubah tabel atau rekaman input, tanpa memodifikasi aslinya, menjadi tabel output atau rekaman untuk digunakan lebih lanjut.

Argumen untuk fungsi ini mendukung delegasi. Misalnya, fungsi Filter yang digunakan sebagai argumen untuk menarik pencarian rekaman terkait melalui semua cantuman, meskipun sumber data '[dbo].[AllListings]' berisi jutaan baris:

AddColumns( RealEstateAgents,
   Listings,
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

Namun, output dari fungsi ini tunduk pada batas rekaman non-delegasi. Dalam contoh ini, hanya 500 rekaman dikembalikan bahkan jika sumber data RealEstateAgents memiliki 501 atau lebih rekaman.

Jika Anda menggunakan AddColumns dengan cara ini, Filter harus melakukan panggilan terpisah ke sumber data untuk masing-masing rekaman pertama di RealEstateAgents, yang menyebabkan banyak obrolan jaringan. Jika[ dbo](.[AllListings] cukup kecil dan tidak sering berubah. Anda dapat memanggil fungsi Collect di OnStart untuk menyimpan sumber data dalam cache di aplikasi Anda saat dimulai. Sebagai alternatif, Anda dapat mengubah struktur aplikasi Anda sehingga Anda menarik rekaman terkait hanya ketika pengguna memintanya.

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

AddColumns( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • TableOrRecord - Diperlukan. Tabel atau rekaman yang akan dioperasikan.
  • ColumnNames - Wajib. Nama kolom yang akan ditambahkan.
  • Rumus- Wajib. Rumus untuk dievaluasi untuk setiap rekaman. Hasilnya ditambahkan sebagai nilai kolom baru yang sesuai. Anda bisa mereferensikan kolom tabel atau rekaman lain dalam rumus ini.

DropColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )

  • TableOrRecord - Diperlukan. Tabel atau rekaman yang akan dioperasikan.
  • ColumnNames - Wajib. Nama kolom yang akan dijatuhkan.

RenameColumns( TableOrRecord, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )

  • TableOrRecord - Diperlukan. Tabel atau rekaman yang akan dioperasikan.
  • OldColumnNames - Wajib. Nama kolom yang akan diganti namanya dari tabel atau rekaman asli. Elemen ini muncul pertama di pasangan argumen (atau pertama di setiap pasangan argumen jika rumusnya mencakup lebih dari satu pasangan).
  • NewColumnNames - Wajib. Nama pengganti. Elemen ini muncul terakhir di pasangan argumen (atau terakhir di setiap pasangan argumen jika rumusnya mencakup lebih dari satu pasangan).

ShowColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )

  • TableOrRecord - Diperlukan. Tabel atau rekaman yang akan dioperasikan.
  • ColumnNames - Wajib. Nama kolom yang akan disertakan.

Contoh

Contoh di bagian ini menggunakan sumber data IceCreamSales, yang berisi data dalam tabel ini:

Contoh Icecream.

Tidak satu pun dari contoh ini memodifikasi sumber data IceCreamSales. Setiap fungsi mentransformasi nilai sumber data sebagai tabel dan mengembalikan nilai sebagai hasilnya.

Rumus Description Hasil
AddColumns( IceCreamSales, Pendapatan, UnitPrice * QuantitySold ) Menambahkan kolom Pendapatan ke hasil. Untuk setiap rekaman, UnitPrice * QuantitySold dievaluasi, dan hasilnya ditempatkan pada kolom baru. Hasil dengan Stroberi, Cokelat dan Vanila.
DropColumns(IceCreamSales, UnitPrice) Mengecualikan kolom UnitPrice dari hasil. Gunakan fungsi ini untuk mengecualikan kolom, dan gunakan ShowColumns untuk menyertakannya. Hasil dengan Strawberry, Chocolate, Vanilla hanya memiliki kolom QuantitySold.
ShowColumns(IceCreamSales, Rasa) Hanya menyertakan kolom Flavor pada hasilnya. Gunakan fungsi ini termasuk kolom, dan gunakan DropColumns untuk mengecualikannya. Hanya kolom Rasa.
RenameColumns(IceCreamSales, UnitPrice, Harga) Mengganti nama kolom UnitPrice dalam hasil. Hasil dengan Rasa, Harga dan Pendapatan.
RenameColumns(IceCreamSales, UnitPrice, Harga, QuantitySold, Number) Mengganti nama kolom UnitPrice dan QuantitySold dalam hasil. Hasil dengan 3 IceCream dan kolom sebagai Rasa, Harga, Pendapatan.
DropColumns(
RenameColumns(
AddColumns(IceCreamSales, Pendapatan,
UnitPrice * QuantitySold ),
Harga Unit, Harga),
Kuantitas)
Melakukan transformasi tabel berikut secara berurutan, mulai dari bagian dalam rumus:
  1. Menambahkan kolom Pendapatan berdasarkan perhitungan per rekaman Harga Satuan * Kuantitas.
  2. Mengganti nama UnitPrice menjadi Price.
  3. Mengecualikan kolom Quantity.
Pesanan itu penting, misalnya kita tidak dapat menghitung dengan UnitPrice setelah diganti namanya.
Contoh IceCream untuk harga per unit.

Langkah demi langkah

Mari kita coba beberapa contoh dari sebelumnya di artikel ini.

  1. Buat kumpulan dengan menambahkan kontrol Tombol dan mengatur properti OnSelect-nya ke rumus ini:

    ClearCollect( IceCreamSales,
       Table(
           { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 },
           { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 },
           { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 }
       )
    )
    
  2. Jalankan rumus dengan memilih tombol sambil menahan tombol Alt.

  3. Tambahkan kontrol Tombol kedua dan atur properti OnSelect-nya ke rumus ini, lalu jalankan:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. Pada menu File, pilih Kumpulan, lalu pilih IceCreamSales untuk menampilkan kumpulan tersebut.

    Seperti yang ditunjukkan grafis ini, rumus kedua tidak memodifikasi kumpulan ini. Fungsi menggunakan AddColumnsIceCreamSales sebagai argumen baca-saja; fungsi tidak mengubah tabel yang dirujuk argumen tersebut.

    Penampil koleksi menampilkan tiga rekaman koleksi Penjualan Es Krim yang tidak mencakup kolom Pendapatan.

  5. Pilih FirstExample.

    Seperti yang ditunjukkan grafis ini, rumus kedua mengembalikan tabel baru dengan kolom tambahan. Fungsi ClearCollect mengambil tabel baru dalam koleksi FirstExample, menambahkan sesuatu ke tabel asli saat diteruskan melalui fungsi tanpa memodifikasi sumber:

    Penampil koleksi menampilkan tiga rekaman koleksi Contoh Pertama yang tidak mencakup kolom Pendapatan baru.

Memetakan kolom dalam komponen

Lihat Petakan kolom.