Bagikan melalui


Fungsi Blank, Coalesce, IsBlank, dan IsEmpty

Berlaku untuk: Aplikasi kanvas Kolom Dataverse rumus alur desktop Aplikasi Power Platform berbasis model CLI

Menguji apakah nilai kosong atau tabel tidak berisi rekaman, dan menyediakan cara untuk membuat nilai kosong.

Gambaran Umum

Blank adalah tempat penampung untuk "tidak ada nilai' atau "nilai tidak dikenal". Misalnya, properti Dipilih untuk kontrol Kotak kombo adalah kosong jika pengguna belum membuat pilihan. Banyak sumber data dapat menyimpan dan mengembalikan nilai NULL yang ditunjukkan dalam Power Apps sebagai kosong.

Setiap properti atau nilai yang dihitung di Power Apps dapat kosong. Misalnya, nilai Boolean biasanya memiliki salah satu dari dua nilai: true atau false. Namun di samping keduanya, juga dapat kosong yang menunjukkan bahwa status tidak diketahui. Ini mirip dengan Microsoft Excel, saat sel lembar kerja dimulai kosong tanpa isi namun dapat menyimpan nilai TRUE atau FALSE (antara lain). Setiap saat, isi sel dapat kembali dikosongkan, mengembalikannya ke status kosong.

String kosong merujuk ke string yang tidak berisi karakter. Fungsi Len menghasilkan nol untuk string tersebut dan dapat ditulis dalam rumus sebagai dua tanda kutip ganda dengan tidak ada apa pun di antara "". Beberapa kontrol dan sumber data menggunakan string kosong untuk menunjukkan kondisi "tidak ada nilai". Untuk menyederhanakan pembuatan aplikasi, fungsi IsBlank dan Coalesce menguji untuk nilai kosong atau string kosong.

Dalam konteks fungsi IsEmpty, kosong dikhususkan untuk tabel yang tidak berisi rekaman. Struktur tabel mungkin utuh, lengkap dengan nama kolom, namun tidak ada data dalam tabel. Tabel mungkin awalnya kosong, mengambil rekaman dan tidak lagi kosong, dan kemudian memiliki rekaman yang dihapus dan lagi menjadi kosong.

Catatan

Kami berada dalam periode transisi. Hingga saat ini, kosong juga telah digunakan untuk melaporkan kesalahan, sehingga mustahil untuk membedakan "tidak ada nilai" yang valid dari kesalahan. Untuk alasan ini, saat ini, menyimpan nilai kosong hanya didukung untuk kumpulan lokal. Anda dapat menyimpan nilai kosong di sumber data lain jika Anda mengaktifkan fitur eksperimental manajemen kesalahan tingkat Rumus dalam fitur Pengaturan>Fitur mendatang>eksperimental. Kami secara aktif bekerja untuk menyelesaikan fitur ini dan menyelesaikan pemisahan nilai kosong yang benar dari kesalahan.

Kosong

Berlaku untuk: Aplikasi kanvas Kolom rumus aplikasi Dataverse berdasarkan model

Fungsi Blank mengembalikan nilai kosong. Gunakan ini untuk menyimpan nilai NULL di sumber data yang mendukung nilai ini, secara efektif menghilangkan nilai apa pun dari bidang.

IsBlank

Berlaku untuk: Aplikasi kanvas Aplikasi berdasarkan model

Fungsi IsBlank menguji untuk nilai kosong atau string kosong. Pengujian ini mencakup string kosong untuk memudahkan pembuatan aplikasi karena beberapa sumber data dan kontrol menggunakan string kosong bila tidak ada nilai. Untuk menguji secara khusus untuk penggunaan nilai kosongif( Value = Blank(), ... dan bukan IsBlank. Fungsi IsBlank menganggap tabel kosong sebagai tidak kosong, dan IsEmpty harus digunakan untuk menguji tabel.

Saat mengaktifkan penanganan kesalahan untuk aplikasi yang ada, pertimbangkan mengganti IsBlank dengan IsBlankOrError untuk mempertahankan perilaku aplikasi yang ada. Sebelum penambahan penanganan kesalahan, nilai kosong digunakan untuk menunjukkan nilai nihil dari database dan nilai kesalahan. Penanganan kesalahan memisahkan kedua interpretasi kosong ini yang dapat mengubah perilaku aplikasi yang ada yang terus menggunakan IsBlank.

Nilai yang dihasilkan IsBlank adalah boolean true atau false.

Coalesce

Berlaku untuk: Aplikasi kanvas Aplikasi berdasarkan model

Fungsi Coalesce mengevaluasi argumennya secara berurutan dan mengembalikan nilai pertama yang bukan kosong atau string kosong. Gunakan fungsi ini untuk mengganti nilai kosong atau string kosong dengan nilai yang berbeda, namun tidak mengubah nilai non-kosong dan string non-kosong. Jika semua logika kosong atau string kosong, maka fungsi akan menghasilkan kosong, sehingga Coalesce menjadi cara yang baik untuk mengkonversi string kosong menjadi nilai kosong.

Coalesce( value1, value2 ) adalah fungsi setara yang lebih ringkas dari If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) dan tidak memerlukan value1 dan value2 dievaluasi dua kali. Fungsi If mengembalikan kosong jika tidak ada rumus "else" seperti kasus di sini.

Semua argumen untuk Coalesce harus dari jenis yang sama; misalnya, Anda tidak dapat mencampur angka dengan string teks. Nilai hasil dari Coalesce adalah jenis umum ini.

IsEmpty

Berlaku untuk: Aplikasi kanvas Aplikasi berdasarkan model

Fungsi IsEmpty menguji apakah tabel berisi rekaman. Ini setara dengan menggunakan fungsi CountRows dan memeriksa untuk nol. Anda dapat memeriksa kesalahan sumber data dengan menggabungkan fungsi IsEmpty dengan Errors.

Nilai yang dihasilkan IsEmpty adalah boolean true atau false.

Sintaks

Blank()

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

  • Value – Wajib. Nilai yang akan diuji. Setiap nilai dievaluasi dalam urutan hingga nilai yang bukan kosong dan string kosong tidak ditemukan. Nilai setelah titik ini tidak dievaluasi.

IsBlank( Value )

  • Value – Wajib. Nilai yang akan diuji untuk nilai kosong atau string kosong.

IsEmpty( Table )

  • Table – Wajib. Tabel yang akan diuji untuk rekaman.

Contoh

Kosong

Catatan

Saat ini, contoh berikut hanya berfungsi untuk kumpulan lokal. Anda dapat menyimpan nilai kosong di sumber data lain jika Anda mengaktifkan fitur eksperimental manajemen kesalahan tingkat Rumus dalam fitur Pengaturan>Fitur mendatang>eksperimental. Kami secara aktif bekerja untuk menyelesaikan fitur ini dan menyelesaikan pemisahan nilai kosong dari kesalahan.

  1. Buat aplikasi dari awal, dan tambahkan kontrol Tombol.

  2. Atur properti OnSelect tombol ke rumus ini:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Pratinjau aplikasi, klik atau ketuk tombol yang ditambahkan, lalu tutup Pratinjau.

  4. Di menu File, klik atau ketuk Kumpulan.

    Kumpulan Kota muncul, menampilkan satu rekaman dengan "Seattle" dan "Hujan":

    Kumpulan menampilkan Seattle dengan cuaca Hujan.

  5. Klik atau ketuk panah kembali untuk kembali ke ruang kerja default.

  6. Tambahkan kontrol Label, dan atur properti Teks-nya ke rumus ini:

    IsBlank( First( Cities ).Weather )
    

    Label menunjukkan false karena bidang Cuaca berisi nilai ("Hujan").

  7. Tambahkan tombol kedua dan atur properti OnSelect ke rumus ini:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Pratinjau aplikasi, klik atau ketuk tombol yang ditambahkan, lalu tutup Pratinjau.

    Bidang Cuaca dari rekaman pertama di Kota digantikan dengan kosong, menghilangkan "Hujan" yang sebelumnya ada di sana.

    Kumpulan menampilkan Seattle dengan bidang Cuaca kosong.

    Label menunjukkan true karena bidang Cuaca tidak lagi berisi nilai.

Coalesce

Rumus KETERANGAN Hasil
Coalesce( Blank(), 1 ) Menguji nilai yang dikembalikan dari fungsi Blank, yang selalu mengembalikan nilai kosong. Karena argumen pertama kosong, evaluasi akan dilanjutkan dengan argumen berikutnya hingga nilai non-kosong dan string non-kosong ditemukan. 1
Coalesce( "", "2" ) Menguji argumen pertama yang merupakan string kosong. Karena argumen pertama adalah string kosong, evaluasi akan dilanjutkan dengan argumen berikutnya hingga nilai non-kosong dan string non-kosong ditemukan. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce dimulai pada awal daftar argumen dan mengevaluasi setiap argumen pada gilirannya sampai nilai non-kosong dan string non-kosong ditemukan. Dalam kasus ini, empat argumen pertama semua mengembalikan kosong atau string kosong, sehingga evaluasi berlanjut ke argumen kelima. Argumen kelima adalah nilai non-kosong dan string non-kosong, sehingga evaluasi berhenti di sini. Nilai argumen kelima dikembalikan, dan argumen keenam tidak dievaluasi. 3
Coalesce( "" ) Menguji argumen pertama yang merupakan string kosong. Karena argumen pertama adalah string kosong, dan tidak ada lagi argumen, fungsi mengembalikan kosong. kosong

IsBlank

  1. Buat aplikasi dari awal, tambahkan kontrol input teks, dan beri nama FirstName.

  2. Tambahkan label dan atur properti Teks ke formula ini:

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

    Secara default, properti Teks dari kontrol input teks diatur ke "Input teks". Karena properti berisi nilai, maka tidak kosong, dan label tidak menampilkan pesan apa pun.

  3. Hapus semua karakter dari kontrol input teks, termasuk spasi.

    Karena properti Teks tidak lagi berisi karakter apa pun, maka string kosong, dan IsBlank( FirstName.Text ) akan true. Pesan bidang wajib diisi ditampilkan.

Untuk informasi tentang cara melakukan validasi menggunakan alat lain, lihat fungsi Validate dan bekerja dengan sumber data.

Contoh lainnya:

Rumus KETERANGAN Hasil
IsBlank( Blank() ) Menguji nilai yang dikembalikan dari fungsi Blank, yang selalu mengembalikan nilai kosong. true
IsBlank( "" ) String yang tidak berisi karakter. true
IsBlank( "Hello" ) String yang berisi satu atau beberapa karakter. false
IsBlank( AnyCollection ) Karena kumpulan ada, ini tidak kosong, bahkan jika ini tidak berisi rekaman apa pun. Untuk memeriksa kumpulan kosong, gunakan IsEmpty sebagai gantinya. false
IsBlank( Mid( "Hello", 17, 2 ) ) Karakter awal untuk Mid berada di luar akhir string. Hasilnya adalah string kosong. true
IsBlank( If( false, false ) ) Fungsi If tanpa ElseResult. Karena kondisi selalu false, If ini selalu mengembalikan kosong. true

IsEmpty

  1. Buat aplikasi dari awal, dan tambahkan kontrol Tombol.

  2. Atur properti OnSelect tombol ke rumus ini:

    Collect( IceCream, { Rasa: "Stroberi", Jumlah: 300 }, { Rasa: "Cokelat", Jumlah: 100 } )

  3. Pratinjau aplikasi, klik atau ketuk tombol yang ditambahkan, lalu tutup Pratinjau.

    Kumpulan yang bernama IceCream dibuat dan berisi data ini:

    Satu tabel dengan rasa Strawberry dan Cokelat dengan kuantitas 300 dan 100.

    Kumpulan ini memiliki dua rekaman dan tidak kosong. IsEmpty( IceCream ) mengembalikan false, dan CountRows( IceCream ) mengembalikan 2.

  4. Tambahkan tombol kedua dan atur properti OnSelect ke rumus ini:

    Clear( IceCream )

  5. Pratinjau aplikasi, klik atau ketuk tombol kedua, lalu tutup Pratinjau.

    Kumpulan sekarang kosong:

    Koleksi dengan Rasa dan Kuantitas sebagai koleksi kosong.

    Fungsi Clear akan menghapus semua rekaman dari kumpulan yang menghasilkan kumpulan kosong. IsEmpty( IceCream ) mengembalikan true, dan CountRows( IceCream ) mengembalikan 0.

Anda juga dapat menggunakan IsEmpty untuk menguji apakah tabel yang dihitung kosong, sebagaimana ditampilkan oleh contoh ini:

Rumus KETERANGAN Hasil
IsEmpty( [ 1, 2, 3 ] ) Tabel kolom tunggal berisi tiga rekaman dan, karenanya, tidak kosong. false
IsEmpty( [ ] ) Tabel kolom tunggal tidak berisi rekaman dan kosong. benar
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Tabel kolom tunggal berisi nilai tidak lebih dari 5. Hasil dari filter tidak berisi rekaman dan kosong. true