Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Tuval uygulamaları
Copilot Studio
Desktop akışları
Dataverse formül sütunları
Model temelli uygulamalar
Power Platform CLI
Dataverse işlevleri
Power Pages
Kümedeki herhangi bir koşulun true (If) olup olmadığını veya bir formülün sonucunun bir kümedeki () herhangi bir değerle eşleşipSwitch eşleşmediğini belirler ve ardından bir sonuç döndürür veya bir eylem yürütür.
Açıklama
İşlev, Ifgerçek bir sonuç bulunana kadar bir veya daha fazla koşulu test eder. If böyle bir sonuç bulunur, karşılık gelen bir değer döndürülür. If böyle bir sonuç bulunmaz, varsayılan bir değer döndürülür. Her iki durumda da, döndürülen değer gösterilecek bir dize, değerlendirilecek bir formül veya diğer bir sonuç biçimi olabilir.
Switch İşlev bir formülü değerlendirir ve sonucun belirttiğiniz bir dizideki herhangi bir değerle eşleşip eşleşmediğini belirler. If eşleşme bulunur, buna karşılık gelen bir değer döndürülür. If eşleşme bulunamadı, varsayılan değer döndürülür. Her iki durumda da, döndürülen değer gösterilecek bir dize, değerlendirilecek bir formül veya diğer bir sonuç biçimi olabilir.
If ve Switch çok benzerdir, ancak durumunuz için en iyi işlevi kullanmalısınız:
- Tek bir koşulu değerlendirmek için kullanın If . Bu işlevin en yaygın söz dizimi ( IfCondition, ThenResult, DefaultResult ), ortak "if ... sonra... else …" desenini sağlar.
- Birden çok ilişkisiz koşulu değerlendirmek için kullanın If . Power Apps'te (Microsoft Excel'in aksine), formülleri iç içe If yerleştirmenize gerek kalmadan birden çok koşul belirtebilirsiniz.
- Tek bir koşulu birden çok olası eşleşmeye karşı değerlendirmek için kullanın Switch . Bu durumda da kullanabilirsiniz If , ancak her olası eşleşme için formülü yinelemeniz gerekir.
İki veya daha fazla eylem arasında dal oluşturmak için davranış formüllerinde bu işlevlerden her ikisini de kullanabilirsiniz. Yalnızca bir dal, eylem tetikler. Koşullar sırayla değerlendirilir ve bir koşulun true olması veya bir eşleşmenin bulunması durumunda durdurulur.
Hiçbir koşul doğru değilse , eşleşme bulunamazsa ve varsayılan bir sonuç belirtmezseniz boşdöndürülür.
Sözdizimi
If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Koşullar - Gerekli. true için test edilecek formüller. Bu formüller genellikle karşılaştırma işleçleri (<, > ve = gibi) ve IsBlank ve IsEmpty gibi test işlevleri içerir.
- ThenResults - Gerekli. true sonucunu veren bir koşul için döndürülecek ilgili değer.
- DefaultResult - İsteğe bağlı. true değerini döndüren bir koşul olmaması halinde döndürülecek değer. If bu bağımsız değişkeni belirtmezseniz boş değer döndürülür.
Switch( Formül, Eşleşme1, Sonuç1 [, Eşleşme2, Sonuç2, ... [, DefaultResult ] ] )
- Formül - Gerekli. Eşleşmeler için değerlendirilecek formül. Bu formül yalnızca bir kez değerlendirilir.
- Eşleşmeler - Gerekli. Formül tarafından döndürülen sonuçla karşılaştırılacak değerler. If tam eşleşme bulunur, karşılık gelen Sonuç döndürülür.
- Sonuçlar - Gerekli. Tam bir eşleşme bulunduğunda döndürülecek, buna karşılık gelen değer.
- DefaultResult - İsteğe bağlı. If tam eşleşme bulunamadı, bu değer döndürülür. If bu bağımsız değişkeni belirtmezseniz boş değer döndürülür.
Örnekler
Formüllerdeki değerler
Aşağıdaki örneklerde bir Slider denetimi (Slider1 adında) 25 değerine sahiptir.
| Formül | Açıklama | Result |
|---|---|---|
| If( Slider1.Value = 25, "Result1" ) | Koşul true şeklindedir ve buna karşılık gelen sonuç döndürülür. | "Result1" |
| If( Slider1.Value = 25, "Result1", "Result2" ) | Koşul true şeklindedir ve buna karşılık gelen sonuç döndürülür. | "Result1" |
| If( Slider1.Value > 1000, "Result1" ) | Koşul false şeklindedir ve VarsayılanSonuç sağlanmamıştır. | boş |
| If( Slider1.Value > 1000, "Result1", "Result2" ) | Koşul false şeklindedir, bir VarsayılanSonuç sağlanmıştır ve bu döndürülür. | "Result2" |
| If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) | İlk koşul true şeklindedir ve buna karşılık gelen sonuç döndürülür. İkinci koşul da true'dur ancak bağımsız değişken listesinde true değerini döndüren bir koşuldan daha sonra göründüğü için değerlendirilmez. | "Result1" |
| If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) | Kaydırıcı boş olmadığından ilk koşul false şeklindedir. Kaydırıcının değeri bir sayı olduğundan ikinci koşul true şeklindedir ve buna karşılık gelen sonuç döndürülür. | "Result2" |
| If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") | Hem birinci hem de ikinci koşul false şeklindedir, bir VarsayılanSonuç sağlanmıştır ve bu döndürülür. | "Result3" |
| Switch( Slider1.Value, 25, "Result1" ) | Kaydırıcının değeri, kontrol edilecek ilk değerle eşleşir ve buna karşılık gelen sonuç döndürülür. | "Result1" |
| Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) | Kaydırıcının değeri, kontrol edilecek ikinci değerle eşleşir ve buna karşılık gelen sonuç döndürülür. | "Result2" |
| Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) | Kaydırıcının değeri, kontrol edilecek herhangi bir değerle eşleşmez. Bir VarsayılanSonuç sağlanmıştır, bu nedenle bu döndürülür. | "DefaultResult" |
Davranış formüllerinde dal oluşturma
Bu örneklerde FirstName adlı bir Text input denetimi, denetimin içine yazılmış "John" değerine sahiptir.
| Formül | Açıklama | Result |
|---|---|---|
| If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | Koşul true şeklindedir, bu nedenle Navigate işlevi çalıştırılır. Gerekli bir form alanının doldurulup doldurulmadığını test etmek için IsBlank işlevini kullanabilirsiniz. If Adboşsa, bu formülün hiçbir etkisi olmaz. |
doğru Görünüm Screen1 olarak değiştirilir. |
| If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | ! işleci olmadan koşul false şeklindedir, bu nedenle Navigate işlevi çalıştırılmaz. Back işlevi VarsayılanSonuç olarak sağlanmıştır, bu nedenle çalıştırılır. |
doğru Görünüm, daha önce gösterilen ekrana geri döner. |
| Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | FirstName.Text değeri sırasıyla "Carlos", "Kirstin" ve "John" ile karşılaştırılır. "John" ile eşleşme mevcuttur, bu nedenle uygulama Screen3 görünümüne gider. |
doğru Görünüm Screen3 olarak değiştirilir. |
Adım adım
Bir Text input denetimi ekleyin ve varsayılan olarak Text1 adına sahip değilse bu şekilde adlandırın.
Text1 içine 30 yazın.
Bir Label denetimi ekleyin ve Text özelliğini şu formüle ayarlayın:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )Label denetimi Order more! gösterir çünkü Text1 değeri 20'den fazla ancak 40'tan azdır.
Text1 içine 15 yazın.
Label denetimi Order MANY more! gösterir çünkü Text1 değeri 20'den azdır.
Text1 içine 50 yazın.
Label denetimi, yazdığınız değeri gösterir. Bunun nedeni, 40'tan büyük olmasıdır.