Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Aplikasi Kanvas
Copilot Studio
Desktop mengalir
kolom
rumus Dataverse Aplikasi berbasis model
Power Platform CLI
Fungsi
Dataverse Power Pages
Menentukan apakah ada kondisi dalam set yang benar (If) atau hasil rumus cocok dengan nilai apa pun dalam satu set (Switch) lalu mengembalikan hasil atau menjalankan tindakan.
KETERANGAN
Fungsi menguji If satu atau beberapa kondisi hingga hasil yang benar ditemukan. If hasil seperti itu ditemukan, nilai yang sesuai dikembalikan. If tidak ada hasil seperti itu yang ditemukan, nilai default dikembalikan. Dalam kedua kasus tersebut, nilai yang dihasilkan mungkin berupa string untuk ditampilkan, rumus untuk dievaluasi, atau bentuk hasil lainnya.
Fungsi mengevaluasi Switch rumus dan menentukan apakah hasilnya cocok dengan nilai apa pun dalam urutan yang Anda tentukan. If kecocokan ditemukan, nilai yang sesuai dikembalikan. If tidak ada kecocokan yang ditemukan, nilai default dikembalikan. Dalam kedua kasus tersebut, nilai yang dihasilkan mungkin berupa string untuk ditampilkan, rumus untuk dievaluasi, atau bentuk hasil lainnya.
If dan Switch sangat mirip, tetapi Anda harus menggunakan fungsi terbaik untuk situasi Anda:
- Gunakan If untuk mengevaluasi satu kondisi. Sintaks yang paling umum untuk fungsi ini adalah If( Kondisi, ThenResult, DefaultResult ), yang menyediakan umum "jika ... kemudian... Yang lain ..." pola yang terlihat di alat pemrograman lainnya.
- Gunakan If untuk mengevaluasi beberapa kondisi yang tidak terkait. Di Power Apps (tidak seperti Microsoft Excel), Anda dapat menentukan beberapa kondisi tanpa harus menumpuk If rumus.
- Gunakan Switch untuk mengevaluasi satu kondisi terhadap beberapa kemungkinan kecocokan. Anda juga dapat menggunakan If dalam hal ini, tetapi Anda harus mengulangi rumus untuk setiap kemungkinan kecocokan.
Anda dapat menggunakan kedua fungsi ini dalam rumus perilaku untuk mencabangkan antara dua tindakan atau lebih. Hanya satu cabang yang akan memicu tindakan. Kondisi dan kecocokan dievaluasi secara berurutan, dan akan berhenti jika kondisi true atau kecocokan ditemukan.
Kosong dikembalikan jika tidak ada kondisi yang benar, tidak ada kecocokan yang ditemukan, dan Anda tidak menentukan hasil default.
Sintaks
If( Kondisi, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Kondisi - Wajib. Rumus untuk diuji untuk true. Rumus seperti biasanya berisi perbandingan operator (seperti <, >, dan =) dan fungsi uji seperti IsBlank dan IsEmpty.
- ThenResults - Diperlukan. Nilai yang sesuai untuk menghasilkan kondisi yang dievaluasi ke true.
- DefaultResult - Opsional. Nilai yang akan dihasilkan jika tidak ada kondisi yang dievaluasi ke true. If Anda tidak menentukan argumen ini, kosong dikembalikan.
Switch( Rumus, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Rumus- Wajib. Rumus untuk dievaluasi untuk kecocokan. Rumus ini dievaluasi hanya sekali.
- Pertandingan - Wajib. Nilai untuk dibandingkan dengan hasil dari Formula. If kecocokan yang tepat ditemukan, Hasil yang sesuai dikembalikan.
- Hasil - Wajib. Nilai yang sesuai akan dihasilkan jika ditemukan pencocokan tepat.
- DefaultResult - Opsional. If kecocokan yang tepat tidak ditemukan, nilai ini dikembalikan. If Anda tidak menentukan argumen ini, kosong dikembalikan.
Contoh
Nilai dalam rumus
Pada contoh berikut, kontrol Slider (bernama Slider1) memiliki nilai 25.
| Rumus | KETERANGAN | Hasil |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | Kondisi adalah true, dan hasil yang sesuai dihasilkan. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | Kondisi adalah true, dan hasil yang sesuai dihasilkan. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | Kondisi adalah false, dan tidak ada DefaultResult yang diberikan. | Kosong |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | Kondisi adalah false, dan tidak ada DefaultResult yang diberikan dan dihasilkan. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | Kondisi pertama adalah true, dan hasil yang sesuai dihasilkan. Kondisi kedua adalah true, namun tidak dievaluasi karena muncul nanti dalam daftar argumen daripada kondisi yang dievaluasi ke true. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | Kondisi pertama adalah false karena slider tidak kosong. Kondisi kedua adalah true karena nilai slider adalah angka, dan hasil yang sesuai dihasilkan. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | Kondisi pertama dan kedua adalah false, DefaultResult diberikan dan dihasilkan. | "Result3" |
| Switch( Slider1.Value, 25, "Result1" ) | Nilai slider sesuai dengan nilai pertama yang akan diperiksa, dan hasil yang sesuai akan dihasilkan. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | Nilai slider sesuai dengan nilai kedua yang akan diperiksa, dan hasil yang sesuai akan dihasilkan. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | Nilai slider tidak sesuai dengan nilai yang akan diperiksa. DefaultResult diberikan, sehingga dihasilkan. | "DefaultResult" |
Percabangan dalam rumus perilaku
Dalam contoh ini, kontrol Input teks bernama FirstName memiliki nilai "John" yang diketik ke dalamnya.
| Rumus | KETERANGAN | Hasil |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | Kondisi true, sehingga fungsi Navigate berjalan. Anda dapat menggunakan fungsi IsBlank untuk menguji apakah bidang formulir yang diperlukan telah diisi. If FirstNamekosong, rumus ini tidak akan berpengaruh. |
benar Tampilan diubah ke Screen1. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | Tanpa operator !, kondisinya adalah false, sehingga fungsi Navigate tidak berjalan. Fungsi Back diberikan sebagai DefaultResult, sehingga berjalan. |
benar Tampilan kembali ke layar yang sebelumnya ditampilkan. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | Nilai FirstName.Text dibandingkan dengan "Carlos", "Kirstin", dan "John" dalam urutan tersebut. Kecocokan ditemukan dengan "John", sehingga aplikasi menavigasi ke Screen3. |
benar Tampilan diubah ke Screen3. |
Langkah demi langkah
Tambahkan kontrol Input teks dan beri nama Text1 jika tidak memiliki nama tersebut secara default.
Dalam Text1, ketik 30.
Tambahkan kontrol Label dan atur properti Teks ke rumus ini:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )Kontrol Label akan menampilkan Urutan lainnya! karena nilai Text1 lebih dari 20 namun kurang dari 40.
Dalam Text1, ketik 15.
Kontrol Label akan menampilkan Urutan BANYAK lainnya! karena nilai Text1 kurang dari 20.
Dalam Text1, ketik 50.
Kontrol Label akan menampilkan nilai yang Anda ketik karena lebih dari 40.