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 Copilot Studio
Desktop mengalir
lajur
formula Dataverse Apl
dipacu model Power Platform CLI
Fungsi
Dataverse Halaman Kuasa
Menentukan sama ada mana-mana keadaan dalam set adalah benar (If) atau hasil formula sepadan dengan mana-mana nilai dalam set (Switch) dan kemudian mengembalikan hasil atau melaksanakan tindakan.
Penerangan
Fungsi ini If menguji satu atau lebih syarat sehingga hasil sebenar ditemui. If Keputusan sedemikian dijumpai, nilai yang sepadan dikembalikan. If tiada hasil sedemikian ditemui, nilai lalai dikembalikan. Dalam mana-mana kes, nilai yang dikembalikan mungkin rentetan untuk ditunjukkan, formula untuk menilai atau bentuk hasil yang lain.
Fungsi ini Switch menilai formula dan menentukan sama ada hasil sepadan dengan mana-mana nilai dalam jujukan yang anda tentukan. If padanan dijumpai, nilai yang sepadan dikembalikan. If tiada padanan ditemui, nilai lalai dikembalikan. Dalam mana-mana kes, nilai yang dikembalikan mungkin rentetan untuk ditunjukkan, formula untuk menilai atau bentuk hasil yang lain.
If dan Switch sangat serupa, tetapi anda harus menggunakan fungsi terbaik untuk situasi anda:
- Gunakan If untuk menilai satu keadaan. Sintaks yang paling biasa untuk fungsi ini ialah If( Condition, ThenResult, DefaultResult ), yang menyediakan "jika ... kemudian … Yang lain ..." corak yang dilihat dalam alat pengaturcaraan lain.
- Gunakan If untuk menilai pelbagai keadaan yang tidak berkaitan. Dalam Power Apps (tidak seperti Microsoft Excel), anda boleh menentukan berbilang syarat tanpa perlu bersarang If formula.
- Gunakan Switch untuk menilai satu keadaan terhadap berbilang kemungkinan perlawanan. Anda juga boleh menggunakan If dalam kes ini, tetapi anda perlu mengulangi formula untuk setiap padanan yang mungkin.
Anda boleh menggunakan fungsi ini dalam formula tingkah laku untuk mencabang antara dua atau lebih tindakan. Hanya satu cabang yang akan mencetuskan tindakan. Syarat dan padanan dinilai mengikut urutan dan ia berhenti jika syarat benar atau padanan ditemui.
Kosong dikembalikan jika tiada syarat yang benar, tiada padanan ditemui dan anda tidak menentukan hasil lalai.
Sintaks
If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , Hasil Lalai ] ] )
- Syarat - Diperlukan. Formula untuk diuji benar. Formula seperti itu biasanya mengandungi perbandingan operators (seperti <, > dan =) dan uji fungsi seperti IsBlank dan IsEmpty.
- KemudianKeputusan - Diperlukan. Nilai yang sepadan untuk dikembalikan untuk syarat yang dinilai menjadi benar.
- DefaultResult - Pilihan. Nilai yang akan dikembalikan jika tidak ada syarat yang dinilai untuk benar. If anda tidak menentukan hujah ini, kosong dikembalikan.
Switch( Formula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Formula - Diperlukan. Formula untuk menilai pertandingan. Formula ini dinilai sekali sahaja.
- Perlawanan - Diperlukan. Nilai untuk dibandingkan dengan hasil daripada Formula. If padanan tepat ditemui, Keputusan yang sepadan dikembalikan.
- Keputusan - Diperlukan. Nilai yang sepadan untuk dikembalikan apabila pemadanan tepat dijumpai.
- DefaultResult - Pilihan. If padanan tepat tidak ditemui, nilai ini dikembalikan. If anda tidak menentukan hujah ini, kosong dikembalikan.
Contoh
Nilai dalam formula
Dalam contoh berikut, kawalan Gelangsar (dinamakan Slider1) yang mempunyai nilai 25.
| Formula | Penerangan | Keputusan |
|---|---|---|
| If( Slider1.Value = 25, "Hasil1" ) | Syarat adalah benar, dan hasil yang sepadan akan dikembalikan. | "Result1" |
| If( Slider1.Value = 25, "Hasil1", "Hasil2" ) | Syarat adalah benar, dan hasil yang sepadan akan dikembalikan. | "Result1" |
| If( Slider1.Value > 1000, "Hasil1" ) | Syarat adalah palsu dan tiada DefaultResult telah diberikan. | Kosong |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | Syarat adalah palsu, DefaultResult telah diberikan dan ia akan dikembalikan. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | Syarat pertama adalah benar, dan hasil yang sepadan akan dikembalikan. Syarat kedua juga adalah benar, tetapi tidak dinilai kerana ia muncul kemudian dalam senarai argumen daripada syarat yang dinilai benar. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | Syarat pertama adalah palsu kerana gelangsar bukanlah kosong. Syarat kedua adalah benar kerana nilai gelangsar adalah nombor dan hasil yang sepadan dikembalikan. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | Kedua-dua syarat pertama dan kedua adalah palsu, DefaultResult telah diberikan dan dikembalikan. | "Result3" |
| Switch( Slider1.Value, 25, "Hasil1" ) | Nilai gelangsar sepadan dengan nilai pertama untuk disemak dan hasil yang sepadan dikembalikan. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | Nilai gelangsar sepadan dengan nilai kedua untuk disemak dan hasil yang sepadan dikembalikan. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | Nilai gelangsar tidak sepadan dengan sebarang nilai untuk disemak. DefaultResult telah diberikan, jadi ia dikembalikan. | "DefaultResult" |
Percabangan dalam formula tingkah laku
Dalam contoh ini, kawalan Input teks dinamakan FirstName mempunyai nilai "John" yang ditaip ke dalamnya.
| Formula | Penerangan | Keputusan |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigasi( Screen1, ScreenTransition.None ) ) | Syarat adalah benar, maka fungsi Navigate dijalankan. Anda oleh menggunakan fungsi IsBlank untuk menguji sama ada medan borang yang diperlukan telah diisi. If FirstNamekosong, formula ini tidak akan memberi kesan. |
Benar Paparan ditukar menjadi Screen1. |
| If( IsBlank( FirstName.Text ), navigate( Screen1, ScreenTransition.None ), Back() ) | Tanpa operator !, syarat adalah palsu, maka fungsi Navigasi tidak berjalan. Fungsi Back telah disediakan sebagai DefaultResult, maka ia dijalankan. |
Benar Paparan kembali ke skrin yang sebelumnya ditunjukkan. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | Nilai FirstName.Text dibandingkan dengan "Saiful", "Kirstin" dan "John" dalam susunan. Padanan ditemui bersama "John", maka aplikasinya menavigasi ke Screen3. |
Benar Paparan ditukar menjadi Screen3. |
Langkah demi langkah
Tambah kawalan Input teks dan namakannya Text1 jika tidak mempunyai nama tersebut secara lalai.
Dalam Text1, taipkan 30.
Tambah kawalan Label, dan tetapkan sifat Teks ke formula ini:
If( Nilai (Teks1.Teks) < 20, "Pesan BANYAK lagi!", Nilai (Teks1.Teks) < 40, "Pesan lebih banyak!", Teks1.Teks )Kawalan label menunjukkan Pesan lagi! kerana nilai Text1 adalah lebih daripada 20 tetapi kurang daripada 40.
Dalam Text1, taipkan 15.
Kawalan label menunjukkan Pesan BANYAK lagi! kerana nilai Text1 adalah kurang daripada 20.
Dalam Text1, taipkan 50.
Kawalan Label menunjukkan nilai yang ditaip oleh anda kerana ia lebih daripada 40.