Ambil perhatian
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba log masuk atau menukar direktori.
Akses ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Terpakai kepada: Apl
kanvas Aliran
Desktop Copilot Studio
Apl
dipacu model Power Platform CLI
Fungsi Dataverse
Membentuk jadual atau rekod dengan menambah, menggugurkan, menamakan semula dan memilih lajurnya.
Fungsi ForAll juga boleh digunakan untuk membentuk jadual, dengan mengembalikan jadual rekod baharu yang dicipta daripada lajur sedia ada.
Gambaran keseluruhan
Fungsi ini membentuk jadual atau rekod dengan melaraskan lajurnya:
- Kurangkan jadual atau rekod yang mengandungi berbilang lajur kepada satu lajur untuk digunakan dengan fungsi lajur tunggal, seperti Lower atau Sqrt.
- Tambah lajur terhitung pada jadual atau rekod (contohnya, lajur Jumlah Harga yang menunjukkan hasil mendarab Kuantiti mengikut Harga Unit).
- Namakan semula lajur ke sesuatu yang lebih bermakna, untuk dipaparkan kepada pengguna atau untuk digunakan dalam formula.
Jadual ialah nilai dalam Power Apps, seperti string atau nombor. Anda boleh menentukan jadual sebagai argumen dalam formula, dan fungsi boleh mengembalikan jadual sebagai hasil.
Nota
Fungsi yang diterangkan oleh topik ini tidak mengubah suai jadual asal. Sebaliknya, ia mengambil jadual sebagai argumen dan mengembalikan jadual baharu dengan menggunakan pengubahan. Untuk maklumat lanjut, lihat bekerja dengan jadual.
Anda tidak boleh mengubah suai lajur sumber data dengan menggunakan fungsi ini. Anda mesti ubah suai data pada sumbernya. Anda boleh menambah lajur ke pengumpulan dengan fungsi Collect. Untuk maklumat lanjut, lihat bekerja dengan sumber data.
Description
Fungsi ini AddColumns menambah lajur pada jadual atau rekod, dan formula mentakrifkan nilai dalam lajur tersebut. Lajur sedia ada kekal tidak diubah suai.
Formula dinilai untuk rekod yang disediakan, atau untuk setiap rekod jadual yang disediakan.
Medan rekod yang sedang diproses tersedia dalam formula. Gunakan operator ThisRecord atau rujuk sahaja medan mengikut nama seperti yang akan anda lakukan bagi mana-mana nilai yang lain. Operator As juga boleh digunakan untuk menamakan rekod yang diproses, yang dapat membantu menjadikan formula anda lebih mudah untuk difahami dan supaya rekod bersarang dapat diakses. Untuk mendapatkan maklumat lanjut, lihat contoh di bawah dan menggunakan skop rekod.
Fungsi ini DropColumns mengecualikan lajur daripada jadual atau rekod. Semua lajur kekal tidak diubah suai. DropColumns Tidak termasuk lajur dan ShowColumns termasuk lajur.
Gunakan RenameColumns fungsi untuk menamakan semula satu atau lebih lajur jadual atau rekod dengan menyediakan sekurang-kurangnya satu pasangan argumen yang menentukan nama lajur yang terkandung dalam jadual atau rekod (nama lama, yang anda mahu gantikan) dan nama lajur yang jadual atau rekod tidak mengandungi (nama baru, yang anda mahu gunakan). Nama lama mestilah sudah wujud dalam jadual atau rekod, dan nama baharu mestilah tidak wujud. Setiap nama lajur mungkin muncul sekali sahaja dalam senarai argumen sama ada nama lajur lama atau nama lajur baharu. Untuk menamakan semula lajur kepada nama lajur sedia ada, mula-mula lepaskan lajur sedia ada dengan DropColumns, atau namakan semula lajur sedia ada dengan bersarang satu RenameColumns fungsi dalam fungsi yang lain.
Fungsi ini ShowColumns termasuk lajur jadual atau rekod dan menggugurkan semua lajur lain. Anda boleh gunakan ShowColumns untuk mencipta jadual atau rekod lajur tunggal daripada jadual atau rekod berbilang lajur. ShowColumns termasuk lajur dan DropColumns tidak termasuk lajur.
Untuk semua fungsi ini, hasilnya ialah jadual atau rekod baharu dengan transformasi digunakan. Jadual atau rekod asal tidak diubah suai. Anda tidak boleh mengubah suai jadual atau rekod sedia ada dengan formula. SharePoint, Microsoft Dataverse, SQL Server dan sumber data lain menyediakan alat untuk mengubah suai lajur senarai dan jadual, yang sering dirujuk sebagai skema. Fungsi dalam topik ini hanya mengubah jadual input atau rekod, tanpa mengubah suai yang asal, kepada jadual output atau rekod untuk kegunaan selanjutnya.
Argumen kepada fungsi ini menyokong perwakilan. Contohnya, fungsi Filter digunakan sebagai argumen untuk menarik masuk rekod berkaitan yang dicari melalui semua senarai, walaupun jika sumber data '[dbo].[AllListings]' mengandungi berjuta baris:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Walau bagaimanapun, output fungsi ini tertakluk kepada had rekod bukan perwakilan. Dalam contoh ini, hanya 500 rekod dikembalikan walaupun jika sumber data RealEstateAgents mempunyai 501 atau lebih rekod.
Jika anda menggunakan AddColumns dengan cara ini, Penapis mesti membuat panggilan berasingan ke sumber data untuk setiap rekod pertama tersebut dalam RealEstateAgents, yang menyebabkan banyak perbualan rangkaian. Jika[ dbo](.[AllListings] cukup kecil dan tidak kerap berubah. Anda boleh memanggil fungsi Kumpulkan dalam OnStart untuk cache sumber data dalam apl anda apabila ia bermula. Sebagai alternatif, anda boleh menstruktur semula aplikasi anda supaya anda menarik masuk rekod berkaitan hanya apabila pengguna bertanyakan tentangnya.
Nota
Sebelum Power Apps versi 3.24042, nama lajur telah ditentukan dengan rentetan teks menggunakan petikan berganda, dan jika disambungkan ke sumber data ia juga perlu menjadi nama logik. Sebagai contoh, nama logik"cr43e_name"dengan petikan berganda telah digunakan dan bukannya nama paparan Nama tanpa petikan. Untuk dan SharePoint sumber data Excel yang mengandungi nama lajur dengan ruang, setiap ruang telah ditentukan dengan "_x0020_", contohnya "Nama Lajur"sebagai"Column_x0020_Name". Selepas versi ini, semua app dikemas kini secara automatik kepada sintaks baharu yang diterangkan dalam artikel ini.
Sintaks
AddColumns( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )
- TableOrRecord - Diperlukan. Jadual atau rekod untuk beroperasi.
- ColumnNames - Diperlukan. Nama lajur yang hendak ditambah.
- Formula - Diperlukan. Formula untuk dinilai bagi setiap rekod. Hasil ditambah sebagai nilai bagi lajur baharu yang sepadan. Anda boleh merujuk lajur lain jadual atau rekod dalam formula ini.
DropColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- TableOrRecord - Diperlukan. Jadual atau rekod untuk beroperasi.
- ColumnNames - Diperlukan. Nama lajur yang akan digugurkan.
RenameColumns( TableOrRecord, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )
- TableOrRecord - Diperlukan. Jadual atau rekod untuk beroperasi.
- OldColumnNames - Diperlukan. Nama lajur untuk dinamakan semula daripada jadual atau rekod asal. Elemen ini dipaparkan pertama sekali dalam pasangan argumen (atau pertama sekali dalam setiap pasangan argumen jika formula termasuk lebih daripada satu pasangan).
- NewColumnNames - Diperlukan. Nama gantian. Elemen ini dipaparkan terakhir dalam pasangan argumen (atau terakhir dalam setiap pasangan argumen jika formula termasuk lebih daripada satu pasangan).
ShowColumns( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )
- TableOrRecord - Diperlukan. Jadual atau rekod untuk beroperasi.
- ColumnNames - Diperlukan. Nama lajur yang akan disertakan.
Contoh
Contoh dalam bahagian ini menggunakan sumber data IceCreamSales, yang mengandungi data dalam jadual ini:
Tiada satu dalam contoh ini mengubah sumber data IceCreamSales. Setiap fungsi mengubah nilai sumber data sebagai jadual dan mengembalikan nilai sebagai hasil.
| Formula | Description | Keputusan |
|---|---|---|
| AddColumns( Jualan Ais Krim, Pendapatan, Harga Unitan * Kuantiti Dijual ) | Tambah lajur Hasil ke hasil. Untuk setiap rekod, UnitPrice * QuantitySold dinilai, dan hasil ditempatkan dalam lajur baharu. |
|
| DropColumns( Jualan Ais Krim, Harga Unit) | Kecualikan lajur UnitPrice daripada hasil. Gunakan fungsi ini untuk mengecualikan lajur dan gunakan ShowColumns untuk memasukkannya. |
|
| ShowColumns( Jualan Ais Krim, Perisa ) | Termasuk hanya lajur Perisa dalam hasil. Gunakan fungsi ini termasuk lajur dan gunakan DropColumns untuk mengecualikan lajur tersebut. |
|
| RenameColumns( Jualan Ais Krim, Harga Unit, Harga) | Namakan semula lajur UnitPrice dalam hasil. |
|
| RenameColumns( Jualan Ais Krim, Harga Unit, Harga, KuantitiTerjual, Nombor) | Namakan semula lajur UnitPrice dan QuantitySold dalam hasil. |
|
|
DropColumns( RenameColumns( AddColumns( Jualan Ais Krim, Pendapatan, Harga Seunit * KuantitiDijual ), Harga Unit, Harga), Kuantiti ) |
Lakukan transformasi jadual berikut mengikut tertib, bermula daripada dalam formula:
|
|
Langkah demi langkah
Mari cuba beberapa contoh daripada awal dalam artikel ini.
Mencipta pengumpulan dengan menambah kawalan Button dan tetapkan sifat OnSelect ke formula 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 } ) )Jalankan formula dengan memilih butang semasa menekan kunci Alt.
Tambah kawalan Butang kedua, tetapkan sifat OnSelect ke formula ini, dan kemudian jalankannya:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )Pada menu Fail, pilih Pengumpulan, dan kemudian pilih IceCreamSales untuk menunjukkan pengumpulan itu.
Semasa grafik ini ditunjukkan, formula kedua tidak mengubah suai pengumpulan ini. Fungsi ini AddColumns menggunakan IceCreamSales sebagai hujah baca sahaja; fungsi tidak mengubah suai jadual yang dirujuk oleh argumen tersebut.
Pilih FirstExample.
Semasa grafik ditunjukkan, formula kedua mengembalikan jadual baharu dengan lajur yang ditambah. Fungsi ClearCollect mengambil jadual baharu dalam pengumpulan FirstExample, menambah sesuatu ke jadual asal apabila ia melalui fungsi tanpa mengubah suai sumber:
Lajur peta dalam komponen
Lihat Lajur peta.