Kongsi melalui


Fungsi AddColumns, DropColumns, RenameColumns dan ShowColumns

Digunakan untuk: Aplikasi kanvas Desktop mengalir aplikasi Power Platform berpandukan model CLI

Membentuk jadual dengan menambah, membuang, menamakan semula, dan memilih lajur.

**Fungsi ForAll juga boleh digunakan untuk membentuk jadual, dengan mengembalikan jadual rekod baru yang dicipta daripada lajur sedia ada.

Gambaran keseluruhan

Fungsi ini membentuk jadual dengan melaraskan lajurnya:

  • Kurangkan jadual yang mengandungi berbilang lajur ke bawah pada lajur tunggal untuk digunakan dengan fungsi lajur tunggal, seperti Bawah atau Sqrt.
  • Tambah lajur yang dikira ke jadual (contohnya, lajur Jumlah Harga yang menunjukkan hasil pendaraban Kuantiti dengan 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 mengendalikan 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 mengendalikan sumber data.

Description

Fungsi AddColumns menambah lajur ke jadual, dan formula menakrifkan nilai dalam lajur itu. Lajur sedia ada kekal tidak diubah suai.

Formula dinilai bagi setiap rekod jadual.

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 DropColumns mengecualikan lajur daripada jadual. Semua lajur kekal tidak diubah suai. DropColumns mengecualikan lajur, dan ShowColumns memasukkan lajur.

Gunakan fungsi RenameColumns untuk menamakan semula satu atau lebih lajur jadual dengan menyediakan sekurang-kurangnya satu pasangan argumen yang menentukan nama lajur yang terkandung dalam jadual (nama lama, yang anda mahu gantikan) dan nama lajur yang tidak terkandung dalam jadual (nama baharu, yang anda mahu gunakan). Nama lama mesti telah wujud dalam jadual, dan nama baharu mesti belum wujud.. Setiap nama lajur mungkin muncul hanya sekali dalam senarai argumen sama ada sebagai nama lajur lama atau nama lajur baru. Untuk menamakan semula lajur kepada nama lajur sedia ada, pertama sekali buang lajur sedia ada dengan DropColumns, atau namakan semula lajur sedia ada keluar dari laluan dengan menempatkan fungsi RenameColumns dalam yang lain.

Fungsi ShowColumns termasuk lajur jadual dan buangkan semua lajur yang lain. Anda boleh menggunakan ShowColumns untuk mencipta jadual lajur tunggal daripada jadual berbilang lajur. ShowColumns termasuk lajur, dan DropColumns mengecualikan lajur.

Untuk semua fungsi ini, hasil ialah jadual baharu dengan menggunakan pengubahan. Jadual asal tidak diubah suai. Anda tidak boleh mengubah suai jadual sedia ada dengan formula. SharePoint, Microsoft Dataverse, Pelayan SQL dan sumber data lain menyediakan alat untuk mengubah suai jalur senarai, jadual dan jadual, yang sering dirujuk sebagai skema. Fungsi dalam artikel ini hanya mengubah jadual input, tanpa mengubah suai asal, menjadi jadual output 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,Tapis mesti membuat panggilan berasingan ke sumber data untuk setiap rekod pertama dalam RealEstateAgents, yang menyebabkan banyak perbualan rangkaian. Jika [dbo](.[AllListings] cukup kecil dan tidak sering berubah. Anda boleh memanggil fungsi Kumpul 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 ditentukan dengan rentetan teks menggunakan petikan berganda dan jika disambungkan ke sumber data ia juga perlu nama logik. Sebagai contoh, nama logik"cr43e_name" dengan petikan berganda digunakan dan bukannya nama paparan Nama tanpa petikan. Untuk SharePoint dan sumber data Excel yang mengandungi nama lajur dengan ruang, setiap ruang ditentukan dengan "_x0020_", contohnya "Nama Lajur" sebagai "Column_x0020_Name". Afer versi ini, semua apl telah dikemas kini secara automatik kepada sintaks baharu yang diterangkan dalam artikel ini.

Sintaks

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

  • Table - Diperlukan. Jadual untuk dilakukan operasi.
  • ColumnName(s) - Diperlukan. Nama lajur untuk ditambah.
  • Formula - Diperlukan. Formula untuk menilai bagi setiap rekod. Hasil ditambah sebagai nilai bagi lajur baharu yang sepadan. Anda boleh merujuk lajur yang lain untuk jadual dalam formula ini.

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

  • Table - Diperlukan. Jadual untuk dilakukan operasi.
  • ColumnName(s) - Diperlukan. Nama lajur untuk digugurkan.

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

  • Table - Diperlukan. Jadual untuk dilakukan operasi.
  • OldColumnNames - Diperlukan. Nama lajur untuk dinamakan semula daripada jadual 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 penggantian. Elemen ini dipaparkan terakhir dalam pasangan argumen (atau terakhir dalam setiap pasangan argumen jika formula termasuk lebih daripada satu pasangan).

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

  • Table - Diperlukan. Jadual untuk dilakukan operasi.
  • ColumnName(s) - Diperlukan. Nama lajur untuk disertakan.

Contoh

Contoh dalam bahagian ini menggunakan sumber data IceCreamSales, yang mengandungi data dalam jadual ini:

Contoh Aiskrim.

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( IceCreamSales, Hasil, UnitPrice * KuantitiSold ) Tambah lajur Hasil ke hasil. Untuk setiap rekod, UnitPrice * QuantitySold dinilai, dan hasil ditempatkan dalam lajur baharu. Hasil dengan Strawberi, Coklat dan Vanila.
DropColumns( IceCreamSales, UnitPrice ) Kecualikan lajur UnitPrice daripada hasil. Gunakan fungsi ini untuk mengecualikan lajur, dan gunakan ShowColumns untuk memasukkannya. Hasil dengan Strawberi, Coklat, Vanila hanya mempunyai lajur QuantitySold.
ShowColumns( IceCreamSales, Rasa ) Termasuk hanya lajur Perisa dalam hasil. Gunakan fungsi ini untuk memasukkan lajur, dan gunakan DropColumns untuk mengecualikannya. Hanya lajur Perisa.
Namakan semulaColumns( IceCreamSales, UnitPrice, Harga) Namakan semula lajur UnitPrice dalam hasil. Hasil dengan Perisa, Harga dan Hasil.
Namakan semulaColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Namakan semula lajur UnitPrice dan QuantitySold dalam hasil. Keputusan dengan 3 Aiskrim dan lajur sebagai Perisa, Harga, Hasil.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Hasil,
UnitPrice * QuantitySold ),
UnitPrice, Harga ),
Kuantiti )
Lakukan transformasi jadual berikut mengikut tertib, bermula daripada dalam formula:
  1. Menambah lajur Hasil berdasarkan pengiraan setiap rekod bagi UnitPrice * Kuantiti.
  2. Namakan semula UnitPrice ke Harga.
  3. Kecualikan lajur Kuantiti.
Pesanan adalah penting, sebagai contoh kita tidak boleh mengira dengan UnitPrice selepas ia dinamakan semula.
Contoh Aiskrim untuk harga unit.

Langkah demi langkah

Mari cuba beberapa contoh dari awal dalam artikel ini.

  1. 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 }
       )
    )
    
  2. Jalankan formula dengan memilih butang semasa menekan kunci Alt.

  3. Tambah kawalan Butang kedua, tetapkan sifat OnSelect ke formula ini, dan kemudian jalankannya:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. 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 AddColumns menggunakan IceCreamSales sebagai argumen baca sahaja; fungsi tidak mengubah suai jadual yang dirujuk oleh argumen itu.

    Pemapar pengumpulan menunjukkan tiga rekod pengumpulan Jualan Ais Krim yang tidak termasuk lajur Hasil.

  5. 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:

    Pemapar pengumpulan menunjukkan tiga rekod bagi pengumpulan Contoh Pertama yang termasuk lajur Hasil baharu.

Lajur peta dalam komponen

Lihat Lajur peta.