Fungsi Blank, Coalesce, IsBlank, dan IsEmpty
Berlaku untuk: Aplikasi kanvas Kolom Dataverse rumus alur desktop Aplikasi berdasarkan model Power Pages Power Platform CLI
Menguji apakah nilai kosong atau tabel tidak berisi rekaman, dan menyediakan cara untuk membuat nilai kosong.
Gambaran Umum
Blank adalah placeholder untuk "tidak ada nilai" atau "nilai tidak diketahui". Misalnya, properti Dipilih kontrol kotak kombo 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 mengacu pada string yang tidak mengandung 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 berdasarkan Dataverse 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 kosong if( 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 yang lebih ringkas setara dengan dan If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
tidak mengharuskan 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
Kosong()
Coalesce( Nilai1 [, Nilai2, ... ])
- Nilai – 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( Nilai )
- Nilai – Wajib. Nilai yang akan diuji untuk nilai kosong atau string kosong.
IsEmpty( Tabel )
- Tabel - 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.
Buat aplikasi dari awal, dan tambahkan kontrol Tombol.
Atur properti OnSelect tombol ke rumus ini:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Pratinjau aplikasi, klik atau ketuk tombol yang ditambahkan, lalu tutup Pratinjau.
Di menu File, klik atau ketuk Kumpulan.
Kumpulan Kota muncul, menampilkan satu rekaman dengan "Seattle" dan "Hujan":
Klik atau ketuk panah kembali untuk kembali ke ruang kerja default.
Tambahkan kontrol Label, dan atur properti Teks-nya ke rumus ini:
IsBlank( First( Cities ).Weather )
Label menunjukkan false karena bidang Cuaca berisi nilai ("Hujan").
Tambahkan tombol kedua dan atur properti OnSelect ke rumus ini:
Patch( Cities, First( Cities ), { Weather: Blank() } )
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.
Label menunjukkan true karena bidang Cuaca tidak lagi berisi nilai.
Coalesce
Rumus | KETERANGAN | Hasil |
---|---|---|
Penyatuan ( Kosong (), 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 |
Penyatuan ( "", "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( Kosong(), "", Kosong(), "", "3", "4") | Penggabungan dimulai di awal daftar argumen dan mengevaluasi setiap argumen secara bergantian hingga 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 |
Menyatu( "" ) | Menguji argumen pertama yang merupakan string kosong. Karena argumen pertama adalah string kosong, dan tidak ada lagi argumen, fungsi mengembalikan kosong. | Kosong |
IsBlank
Buat aplikasi dari awal, tambahkan kontrol input teks, dan beri nama FirstName.
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.
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( Kosong() ) | Menguji nilai yang dikembalikan dari fungsi Blank, yang selalu mengembalikan nilai kosong. | benar |
IsBlank( "" ) | String yang tidak berisi karakter. | benar |
IsBlank( "Halo" ) | String yang berisi satu atau beberapa karakter. | palsu |
IsBlank( Koleksi Apapun) | Karena kumpulan ada, ini tidak kosong, bahkan jika ini tidak berisi rekaman apa pun. Untuk memeriksa kumpulan kosong, gunakan IsEmpty sebagai gantinya. | palsu |
IsBlank( Mid( "Halo", 17, 2 ) ) | Karakter awal untuk Mid berada di luar akhir string. Hasilnya adalah string kosong. | benar |
IsBlank( Jika( salah, salah ) ) | Fungsi If tanpa ElseResult. Karena kondisi selalu false, If ini selalu mengembalikan kosong. | benar |
IsEmpty
Buat aplikasi dari awal, dan tambahkan kontrol Tombol.
Atur properti OnSelect tombol ke rumus ini:
Kumpulkan ( Es Krim, { Rasa: "Stroberi", Jumlah: 300 }, Rasa { : "Cokelat", Jumlah: 100 } )
Pratinjau aplikasi, klik atau ketuk tombol yang ditambahkan, lalu tutup Pratinjau.
Kumpulan yang bernama IceCream dibuat dan berisi data ini:
Kumpulan ini memiliki dua rekaman dan tidak kosong. IsEmpty( IceCream ) mengembalikan false, dan CountRows( IceCream ) mengembalikan 2.
Tambahkan tombol kedua dan atur properti OnSelect ke rumus ini:
Clear ( Es Krim )
Pratinjau aplikasi, klik atau ketuk tombol kedua, lalu tutup Pratinjau.
Kumpulan sekarang 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. | palsu |
IsEmpty( [ ] ) | Tabel kolom tunggal tidak berisi rekaman dan kosong. | benar |
IsEmpty( Filter( [ 1, 2, 3 ], Nilai > 5 ) ) | Tabel kolom tunggal berisi nilai tidak lebih dari 5. Hasil dari filter tidak berisi rekaman dan kosong. | benar |