Jagamisviis:


Funktsioonid If ja Switch

Kehtib: Lõuendirakenduste Dataverse valemiveerud Töölauavood Mudelipõhised rakendused Power Platform CLI

Määratleb, kas määratud tingimus on tõene (If) või kas valemi tulem vastab mõnele kindlale väärtusele funktsioonis(Switch) ja tagastab tulemi või käivitab toimingu.

Kirjeldus

Funktsiooni If testitakse ühe või mitme tingimusega, kuni leitakse tõene tulem. Kui selline tulemus leitakse, tagastatakse vastav väärtus. Kui sellist tulemit ei leita, tagastatakse vaikeväärtus. Mõlemal juhul võib tagastatud väärtus olla kuvatav string, analüüsitav valem või mõni muu tulemi vorm.

Funktsiooni Switch abil analüüsitakse valemit ja määratletakse, kas tulem vastab teie määratud jada mis tahes väärtusele. Kui selline vaste leitakse, tagastatakse vastav väärtus. Kui vastet ei leita, tagastatakse vaaikeväärtus. Mõlemal juhul võib tagastatud väärtus olla kuvatav string, analüüsitav valem või mõni muu tulemi vorm.

If ja Switch on väga sarnased, kuid peaksite kasutama oma olukorra jaoks parimat funktsiooni.

  • Kasutage funktsiooni If juhul, kui soovite hinnata ühte tingimust. Selle funktsiooni kõige tavalisem süntaks on If(Condition,ThenResult,DefaultResult ), mis annab ühise "kui ... then … Muidu ..." muster, mida on näha teistes programmeerimisvahendites.
  • Kasutage funksiooni If mitme sõltumatu tingimuse hindamiseks. Rakenduses Power Apps (erinevalt Microsoft Excelist) saate määrata ka mitu tingimust, ilma et oleks vaja If valemeid pesastada.
  • Kasutage funktsiooni Switch, et hinnata ühte tingimust mitme võimaliku vastete vastu. Saate kasutada funktsiooni If ka sel juhul, kuid peate iga võimaliku vaste valemit kordama.

Mõlemat funktsiooni saab kasutada käitumise valemites kahe või enama toimingu vaheliseks haruks. Toimingu käivitab ainult üks haru. Tingimused ja vasted hinnatakse järjekorras ja nad lõpetavad, kui tingimus on tõene või vaste leitakse.

Tühi tagastatakse, kui tingimused pole tõesed, vasteid ei leita ja te ei määra vaiketulemit.

Süntaks

If( Condition, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )

  • Tingimus(ed) – nõutav. Valemid, mida testida tõene suhtes. Sellised valemid tavaliselt sisaldavad võrdlust tehtemärgid (nagu <, > ja =) ja testivad funktsioone nagu IsBlank ja IsEmpty.
  • ThenResult(s) – nõutav. Vastav väärtus, mis tagastatakse tingimusel, et see on tõene.
  • DefaultResult – valikuline. Tagastatav väärtus, kui ükski tingimus ei vasta väärtusele tõene. Kui te seda argumenti ei määra, tagastatakse tühi.

Switch( Formula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )

  • Valem – nõutav. Valem vastete hindamiseks. Seda valemit hinnatakse ainult üks kord.
  • Match(s) – nõutav. Väärtused, mida võrreldakse valemi tulemiga. Täpse vaste leidmisel tagastatakse vastav tulem.
  • Tulemus(ed) – nõutav. Täpse vaste leidmisel tagastatav vastav tulem.
  • DefaultResult – valikuline. Kui täpset vastet ei leita, tagastatakse see väärtus. Kui te seda argumenti ei määra, tagastatakse tühi.

Näited

Väärtused valemites

Järgmistes näidetes on juhtelemendil Liugur (nimetatakse Liugur1) väärtus 25.

Valem Kirjeldus Tulemus
If( Slider1.Value = 25, "Result1" ) Tingimus on tõene ja tagastatakse vastav tulem. "Tulem1"
If( Slider1.Value = 25, "Result1", "Result2" ) Tingimus on tõene ja tagastatakse vastav tulem. "Tulem1"
If( Slider1.Value>1000, "Result1" ) Tingimus on väär ja DefaultResult ei esitatud. tühi
If( Slider1.Value>1000, "Result1", "Result2" ) Tingimus on väär ja DefaultResult esitati ja see tagastati. "Tulem2"
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) Esimene tingimus on tõene ja tagastatakse vastav tulem. Teine tingimus on samuti tõene, kuid seda ei hinnata, kuna see kuvatakse argumentide loendis hiljem, kui tingimus, mis hinnatakse kui tõene. "Tulem1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Esimene tingimus on väär, kuna liugur pole tühi. Teine tingimus on tõene, kuna liuguri väärtus on arv ja tagastatakse vastav tulem. "Tulem2"
If( Slider1.Value>1000, "Result1", Slider1.Value>50, "Result2", "Result3") Nii esimene kui teine tingimus on väär ja DefaultResult esitati ja see tagastati. "Tulem3"
Switch( Slider1.Value, 25, "Result1" ) Liuguri väärtus vastab esimesele kontrollitavale väärtusele ja tagastatakse vastav tulem. "Tulem1"
Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) Liuguri väärtus vastab teisele kontrollitavale väärtusele ja tagastatakse vastav tulem. "Tulem2"
Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) Liuguri väärtus ei vasta ühelegi kontrollitavale väärtusele. A DefaultResult esitati, niisiis see tagastati. "DefaultResult"

Käitumise valemites hargnemine

Nendes näidetes on juhtelelementi testisisend nimega FirstName tipitud väärtus "John".

Valem Kirjeldus Tulem
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) Tingimus on tõene, nii et funktsioon Navigate käivitub. Funktsiooni IsBlank abil saate katsetada, kas nõutav vormi väli on täidetud. Kui FirstName on blank, ei ole sellel valemil mõju. true

Ekraan muudetakse Screen1.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) Ilma tehtemärgita ! on tingimus väär, nii et funktsioon Navigeeri ei tööta. Funkstioon Back esitati kui DefaultResult, nii et see käivitub. true

Ekraan läheb tagasi kuvale, mida kuvati varem.
Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) Väärtust FirstName.Text võrreldakse selles järjekorras "Carlos", "Kirstin" ja "John". Vaste leitakse "John"-iga, seega rakendus viib ekraanile Screen3. true

Ekraan muudetakse ekraaniks Screen3.

Samm-sammult

  1. Lisage juhtelement tekstisisend ja nimetage see Tekst1, kui see pole vaikimisi selle nimega.

  2. Väljale Text1, tippige 30.

  3. Lisage juhtelement silt ja seadke atribuudiks Text see valem:
    If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )

    Juhtelemendil Silt kuvatakse Order more!, kuna Texks1 väärtus on üle 20, aga alla 40.

  4. Väljale Text1, tippige 15.

    Juhtelemendil Silt kuvatakse Order MANY more!, kuna Tekst1 väärtus on alla 20.

  5. Väljale Text1, tippige 50.

    Juhtelemendis silt kuvatakse teie tipitud väärtus, kuna see on rohkem kui 40.