Kongsi melalui


Fungsi kosong, Coalesce, IsBlank, dan IsEmpty

Digunakan untuk: Aplikasi kanvas Desktop mengalirkan Dataverse lajur formula Aplikasi berpandukan model Power Pages Power Platform CLI

Menguji sama ada nilai kosong atau jadual mengandungi tiada rekod dan menyediakan kaedah untuk mencipta nilai kosong.

Ikhtisar

Kosong ialah ruang letak untuk "tiada nilai" atau "nilai tidak diketahui." Contohnya, kawalan Kotak kombo sifat Dipilihkosong jika pengguna belum membuat pilihan. Banyak sumber data boleh menyimpan dan mengembalikan nilai NOL yang diwakilkan dalam Power Apps sebagai kosong.

Sebarang sifat atau nilai yang dikira dalam Power Apps boleh menjadi kosong. Sebagai contoh, nilai Boolean biasanya mempunyai salah satu daripada dua nilai: benar atau palsu. Tetapi selain kedua-duanya, ia juga boleh menjadi kosong menunjukkan yang keadaan adalah tidak diketahui. Ini adalah serupa dengan Microsoft Excel yang mana sel lembaran kerja bermula kosong tanpa kandungan tetapi boleh menyimpan nilai BENAR atau PALSU (antara lain). Pada bila-bila masa, kandungan sel boleh dikosongkan sekali lagi, mengembalikannya kepada keadaan kosong.

Rentetan kosong merujuk kepada rentetan yang tidak mengandungi aksara. Len function mengembalikan sifar untuk rentetan seperti itu dan ia boleh ditulis dalam formula sebagai dua tanda petik berganda dengan tiada apa-apa di antaranya "". Beberapa kawalan dan sumber data menggunakan rentetan kosong untuk menunjukkan syarat "tiada nilai". Untuk memudahkan penciptaan aplikasi, fungsi IsBlank dan Coalesce diuji untuk kedua-dua nilai kosong atau rentetan kosong.

Dalam konteks fungsi IsEmpty, kosong adalah ditentukan untuk jadual yang tidak mengandungi rekod. Struktur jadual mungkin utuh, lengkap dengan lajur nama, tetapi tidak ada data dalam jadual. Jadual boleh dimulakan sebagai kosong, mengambil rekod dan tidak lagi kosong dan kemudian mengalih keluar rekod dan sekali lagi menjadi kosong.

Nota

Kita berada dalam tempoh peralihan. Sehingga kini, kosong juga telah digunakan untuk melaporkan ralat, menjadikannya mustahil untuk membezakan "tiada nilai" yang sah daripada ralat. Atas sebab ini, pada masa ini, menyimpan nilai kosong disokong hanya untuk koleksi tempatan. Anda boleh menyimpan nilai kosong dalam sumber data lain jika anda menghidupkan ciri percubaan Pengurusan ralat peringkat formula bawah Tetapan>Ciri akan datang>Percubaan. Kami secara aktif berusaha untuk menyelesaikan ciri ini dan menyelesaikan pemisahan nilai kosong yang betul daripada ralat.

Kosong

Digunakan untuk: Aplikasi kanvas Lajur formula aplikasi Dataverse berpandukan model

Fungsi Blank mengembalikan nilai kosong. Gunakan ini untuk menyimpan nilai NOL dalam sumber data yang menyokong nilai ini, mengalih keluar sebarang nilai dengan berkesan dari medan.

IsBlank

Digunakan pada: Aplikasi kanvas Apl berpandukan model

Fungsi IsBlank diuji untuk nilai kosong atau rentetan kosong. Ujian ini termasuk rentetan kosong untuk memudahkan penciptaan aplikasi kerana beberapa sumber dan kawalan data menggunakan rentetan kosong ketika tidak ada nilai wujud. Untuk menguji secara khusus bagi nilai kosong menggunakan if( Value = Blank(), ... bukannya IsBlank. Fungsi IsBlank menganggap jadual kosong sebagai bukan kosong, dan IsEmpty harus digunakan untuk menguji jadual.

Apabila mendayakan pengendalian ralat untuk aplikasi sedia ada, pertimbangkan menggantikan IsBlank dengan IsBlankOrError untuk menjaga tingkah laku aplikasi sedia ada. Sebelum penambahan pengendalian ralat, nilai kosong digunakan untuk mewakili nilai nol daripada pangkalan data dan nilai ralat. Pengendalian ralat memisahkan kedua-dua tafsiran kosong ini yang boleh mengubah tingkah laku aplikasi sedia ada yang terus menggunakan IsBlank.

Nilai pulangan untuk IsBlank adalah boolean benar atau palsu.

Coalesce

Digunakan pada: Aplikasi kanvas Apl berpandukan model

Fungsi Coalesce menilai argumen mengikut urutan dan mengembalikan nilai pertama yang bukan kosong atau rentetan kosong. Gunakan fungsi ini untuk menggantikan nilai kosong atau rentetan kosong dengan nilai yang berbeza tetapi meninggalkan bukan-kosong dan bukan rentetan kosong yang tidak berubah. Jika semua argumen adalah rentetan kosong atau kosong maka fungsi mengembalikan kosong, menjadikan Coalesce cara yang baik untuk menukar rentetan kosong kepada nilai kosong.

Coalesce( value1, value2 ) ialah setara If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) yang lebih ringkas dan tidak memerlukan nilai1 dan nilai2 untuk dinilai dua kali. If function mengembalikan kosong jika tidak ada formula "lain" seperti yang berlaku di sini.

Semua argumen kepada Coalesce mestilah dari jenis yang sama; sebagai contoh, anda tidak boleh mencampurkan nombor dengan rentetan teks. Nilai pulangan daripada Coalesce adalah yang jenis biasa.

IsEmpty

Digunakan pada: Aplikasi kanvas Apl berpandukan model

Fungsi IsEmpty menguji sama ada jadual mengandungi sebarang rekod. Ia adalah sama dengan menggunakan fungsi CountRows dan menyemak untuk sifar. Anda boleh menyemak ralat sumber data dengan menggabungkan IsEmpty dengan fungsi Errors.

Nilai pulangan untuk IsEmpty adalah Boolean benar atau palsu.

Sintaks

Kosong()

Coalesce( Value1 [, Value2, ... ] )

  • Nilai – Diperlukan. Nilai untuk menguji. Setiap nilai adalah dinilai secara urutan sehingga nilai menjadi tidak kosong dan bukan rentetan kosong ditemui. Nilai selepas titik ini tidak dinilai.

IsBlank( Nilai )

  • Nilai – Diperlukan. Nilai untuk ujian bagi nilai kosong atau rentetan kosong.

IsEmpty( Jadual )

  • Table - Diperlukan. Jadual untuk menguji rekod.

Contoh

Kosong

Nota

Pada masa ini, contoh berikut hanya berfungsi untuk koleksi tempatan. Anda boleh menyimpan nilai kosong dalam sumber data lain jika anda menghidupkan ciri percubaan Pengurusan ralat peringkat formula bawah Tetapan>Ciri akan datang>Percubaan. Kami secara aktif berusaha untuk menyelesaikan ciri ini dan menyelesaikan pemisahan nilai kosong daripada ralat.

  1. Cipta aplikasi dari awal dan tambahkan kawalan Butang.

  2. Tetapan sifat OnSelect butang untuk formula ini:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Pratonton aplikasi anda, klik atau ketik butang yang anda tambahkan, dan kemudian tutup Pratonton.

  4. Pada menu Fail, klik atau ketik Koleksi.

    Koleksi Bandar muncul, menunjukkan satu rekod dengan "Seattle" dan "Hujan":

    Koleksi menunjukkan Seattle dengan cuaca Hujan.

  5. Klik atau ketik anak panah belakang untuk kembali ke ruang kerja lalai.

  6. Tambah kawalan Label dan tetapkannya sifat Teks untuk formula ini:

    IsBlank( First( Cities ).Weather )
    

    Label menunjukkan palsu kerana medan Cuaca mengandungi nilai ("Hujan").

  7. Tambah butang kedua dan tetapkan sifat OnSelect untuk formula ini:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Pratonton aplikasi anda, klik atau ketik butang yang anda tambahkan, dan kemudian tutup Pratonton.

    Medan Cuaca bagi rekod pertama dalam Bandar digantikan dengan kosong, mengalih keluar "Hujan" yang ada di sana sebelumnya.

    Koleksi menunjukkan Seattle dengan medan Cuaca kosong.

    Label menunjukkan benar kerana medan Cuaca tidak lagi mengandungi nilai.

Coalesce

Formula Penerangan Hasil
Coalesce( Kosong(), 1 ) Menguji nilai pulangan dari fungsi Blank yang sentiasa mengembalikan nilai kosong. Oleh sebab argumen pertama adalah kosong, penilaian diteruskan dengan argumen seterusnya sehingga nilai bukan-kosong dan bukan rentetan kosong. 1
Coalesce( "", "2" ) Uji argumen pertama yang merupakan rentetan kosong. Oleh sebab argumen pertama adalah rentetan kosong, penilaian diteruskan dengan argumen sehingga nilai bukan-kosong dan bukan rentetan kosong ditemui. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce mula di awal senarai argumen dan menilai setiap argumen secara bergiliran hingga nilai bukan-kosong dan bukan rentetan kosong. Dalam kes ini, empat argumen pertama semuanya mengembalikan kosong atau rentetan kosong, maka penilaian diteruskan ke argumen kelima. Argumen kelima adalah bukan-kosong dan bukan rentetan kosong, maka penilaian berhenti di sini. Nilai argumen kelima dikembalikan dan argumen keenam tidak dinilai. 3
Coalesce( "" ) Uji argumen pertama yang merupakan rentetan kosong. Oleh sebab argumen pertama adalah rentetan kosong dan tidak ada lagi argumen, fungsi itu kembali kosong. kosong

IsBlank

  1. Cipta aplikasi dari awal, tambahkan kawalan input teks dan namakannya FirstName.

  2. Tambah label, dan tetapkan sifat Teks ke formula ini:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Secara lalai, sifat Teks kawalan input teks ditetapkan ke "Input teks". Oleh sebab sifat mengandungi nilai, ia tidak kosong dan label tidak memaparkan sebarang mesej.

  3. Alih keluarkan semua aksara dari kawalan input teks termasuk ruang.

    Oleh sebab sifat Teks tidak lagi mengandungi sebarang aksara, ia adalah rentetan kosong dan IsBlank( FirstName.Text ) akan menjadi benar. Mesej medan yang diperlukan dipaparkan.

Untuk maklumat tentang cara melaksanakan pengesahan dengan menggunakan alat lain, lihat fungsi Validate dan bekerja dengan sumber data.

Contoh lain:

Formula Penerangan Hasil
IsBlank( Kosong() ) Menguji nilai pulangan dari fungsi Blank yang sentiasa mengembalikan nilai kosong. benar
IsBlank( "" ) Rentetan yang tidak mengandungi aksara. benar
IsBlank( "Helo" ) Rentetan yang mengandungi satu atau lebih aksara. palsu
IsBlank( AnyCollection ) Oleh sebab koleksi wujud,ia tidak kosong walaupun tidak mengandungi rekod. Untuk menyemak koleksi kosong, sebaliknya gunakan IsEmpty. palsu
IsBlank( Mid( "Helo", 17, 2 ) ) Aksara permulaan untuk Mid berada di luar rentetan. Hasil adalah rentetan kosong. benar
IsBlank( Jika( palsu, palsu ) ) Fungsi If dengan tiada ElseResult. Oleh sebab syarat selalunya palsu, ini If sentiasa kembali kosong. benar

IsEmpty

  1. Cipta aplikasi dari awal dan tambahkan kawalan Butang.

  2. Tetapan sifat OnSelect butang untuk formula ini:

    Kumpulkan( IceCream, { Perisa: "Strawberi", Kuantiti: 300 }, { Perisa: "Coklat", Kuantiti: 100 } )

  3. Pratonton aplikasi anda, klik atau ketik butang yang anda tambahkan, dan kemudian tutup Pratonton.

    Kolek yang dinamakan Ais Krim dicipta dan mengandungi data ini:

    Jadual dengan perisa Strawberi dan Coklat dengan kuantiti 300 dan 100.

    Koleksi ini mempunyai dua rekod dan tidak kosong. IsEmpty( Ais Krim ) mengembalikan palsu dan CountRows( Ais Krim ) mengembalikan 2.

  4. Tambahkan butang kedua dan tetapkan sifat OnSelect untuk formula ini:

    Kosong( Ais Krim)

  5. Pratonton aplikasi anda, klik atau ketik butang kedua dan kemudian tutup Pratonton.

    Koleksi kini kosong:

    Koleksi dengan Perisa dan Kuantiti sebagai koleksi kosong.

    Fungsi Clear mengalih keluar semua rekod dari koleksi, menghasilkan koleksi kosong. IsEmpty( Ais Krim ) mengembalikan benar dan CountRows( Ais Krim ) mengembalikan 0.

Anda juga boleh menggunakan IsEmpty untuk menguji sama ada jadual yang dikira adalah kosong, seperti contoh ditunjukkan:

Formula Penerangan Hasil
IsEmpty( [ 1, 2, 3 ] ) Jadual lajur tunggal mengandungi tiga rekod dan oleh itu, ia tidak kosong. palsu
IsEmpty( [ ] ) Jadual lajur tunggal tidak mengandungi rekod dan adalah kosong. benar
IsEmpty( Penapis( [ 1, 2, 3 ], Nilai > 5 ) ) Jadual lajur tunggal tidak mengandungi nilai yang lebih besar daripada 5. Hasil dari penapis tidak mengandungi rekod dan kosong. benar