Bendrinti naudojant


If ir Perjungti funkcijas

Taikoma: Drobės programos Dataverse formulių stulpeliai Darbalaukio srautai Modeliu pagrįstos programos Power Pages Power Platform CLI

Nustato, ar kokia nors rinkinio sąlyga yra teisinga (If), arba, ar formulės rezultatas atitinka bet kurią rinkinio reikšmę (Switch), tada pateikia rezultatą arba vykdo veiksmą.

Aprašas

Funkcija If išbando vieną arba kelias sąlygas, kol randamas teisingas rezultatas. Jei toks rezultatas randamas, pateikiama atitinkama reikšmė. Jei tokių rezultatų nerandama, pateikiama numatytoji reikšmė. Bet kuriuo atveju pateikta reikšmė gali būti rodytina eilutė, vertintina formulė arba kita rezultato forma.

Funkcija Switch įvertina formulę ir nustato, ar rezultatas atitinka bet kokią jūsų nurodytos sekos reikšmę. Jei randamas atitikmuo, pateikiama atitinkama reikšmė. Jei atitikmenų nerandama, pateikiama numatytoji reikšmė. Bet kuriuo atveju pateikta reikšmė gali būti rodytina eilutė, vertintina formulė arba kita rezultato forma.

If ir Switch yra labai panašios, tačiau turėtumėte naudoti geriausią funkciją savo situacijai:

  • Naudokite If, jei norite įvertinti vieną sąlygą. Dažniausia šios funkcijos sintaksė yra If(Condition,ThenResult,DefaultResult ), kuri suteikia bendrą "jei ... tada … Kitaip ..." raštas, matomas kituose programavimo įrankiuose.
  • Naudokite If, jei norite įvertinti kelias nesusijusias sąlygas. Programoje „Power Apps“ (skirtingai nuo „Microsoft Excel“) galite nurodyti kelias sąlygas, neįdėdami If formulių.
  • Naudokite Switch, jei vieną sąlygą norite įvertinti pagal kelis galimus atitikmenis. Šiuo atveju taip pat galite naudoti If, tačiau formulę reikėtų pakartoti kiekvienam galimam atitikmeniui.

Abi šias funkcijas galite naudoti veikimo formulėse, kad iššakotumėte tarp dviejų ar daugiau veiksmų. Veiksmą suaktyvins tik viena šaka. Sąlygos ir atitikmenys įvertinami eilės tvarka ir procesas sustabdomas, jei kokia nors sąlyga yra teisinga arba randamas atitikmuo.

Jei nė viena sąlyga nėra teisinga, nerandama atitikmenų, o jūs nenurodote numatytojo rezultato, pateikiama tuščia reikšmė.

Sintaksė

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

  • Condition(s) – būtina. Formulė (-ės), kurias reikia išbandyti ieškant teisingų reikšmių. Tokiose formulėse įprastai yra lyginimo operatorių (pvz., <, > ir =) bei bandymo funkcijų, pvz., IsBlank ir IsEmpty.
  • ThenResult(s) – būtina. Atitinkama pateiktina sąlygos, kurios įvertinta reikšmė yra true, reikšmė.
  • DefaultResult – nebūtina. Reikšmė, kurią reikia pateikti, jei jokios sąlygos įvertinta reikšmė nėra true. Jei šio argumento nenurodote, pateikiama tuščia reikšmė.

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

  • Formula – būtina. Formulė, kurią reikia įvertinti ieškant atitikmenų. Ši formulė įvertinama tik vieną kartą.
  • Match(s) – būtina. Reikšmės, kurias reikia palyginti su formulės rezultatu. Jei randamas tikslus atitikmuo, pateikiamas atitinkamas rezultatas.
  • Result(s) – būtina. Pateiktina atitinkama reikšmė, kai randamas tikslus atitikmuo.
  • DefaultResult – nebūtina. Jei tikslus atitikmuo nerandamas, pateikiama ši reikšmė. Jei šio argumento nenurodote, pateikiama tuščia reikšmė.

Pavyzdžiai

Reikšmės formulėse

Toliau pateikiamuose pavyzdžiuose slankiklio valdiklio (pavadinto Slider1) reikšmė yra 25.

Formulė Aprašą Rezultatas
If( Slider1.Value = 25, "Result1" ) Sąlyga yra teisinga ir pateikiamas atitinkamas rezultatas. „Result1“
If( Slider1.Value = 25, "Result1", "Result2" ) Sąlyga yra teisinga ir pateikiamas atitinkamas rezultatas. „Result1“
If( Slider1.Value>1000, "Result1" ) Sąlyga yra klaidinga ir DefaultResult nebuvo pateiktas. blank
If( Slider1.Value>1000, "Result1", "Result2" ) Sąlyga yra klaidinga ir pateikiamas DefaultResult. „Result2“
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) Pirmoji sąlyga yra teisinga ir pateikiamas atitinkamas rezultatas. Antroji sąlyga taip pat yra teisinga, tačiau ji neįvertinama, nes ji argumentų sąraše rodoma vėliau nei sąlyga, kurios įvertinta reikšmė yra true. „Result1“
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Pirmoji sąlyga yra klaidinga nes slankiklis nėra tuščias. Antroji sąlyga yra teisinga, nes slankiklio reikšmė yra skaičius, ir pateikiamas atitinkamas rezultatas. „Result2“
If( Slider1.Value>1000, "Result1", Slider1.Value>50, "Result2", "Result3") Tiek pirmoji, tiek antroji sąlygos yra klaidingos ir pateikiamas DefaultResult. „Result3“
Switch( Slider1.Value, 25, "Result1" ) Slankiklio reikšmė atitinka pirmąją reikšmę, kurią reikia tikrinti, ir pateikiamas atitinkamas rezultatas. „Result1“
Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) Slankiklio reikšmė atitinka antrąją reikšmę, kurią reikia tikrinti, ir pateikiamas atitinkamas rezultatas. „Result2“
Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) Slankiklio reikšmė neatitinka jokios reikšmės, kurią reikia tikrinti. Buvo pateiktas DefaultResult, todėl jis ir pateikiamas. „DefaultResult“

Šakojimas veikimo formulėse

Šiuose pavyzdžiuose į teksto įvesties valdiklį FirstName įvesta reikšmė „John“.

Formulė Aprašas Rezultatas
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) Sąlyga yra teisinga, todėl vykdoma funkcija Navigate. Naudodami funkciją IsBlank, galite patikrinti, ar užpildytas būtinas formos laukas. Jei FirstName būtų tuščias, ši formulė neturėtų jokio poveikio. teisingas

Ekranas pakeičiamas į Screen1.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) Be ! operatoriaus, sąlyga yra klaidinga, todėl funkcija Navigate nevykdoma. Kaip DefaultResult buvo pateikta funkcija Back, todėl vykdoma ji. teisingas

Ekranas grįžta į anksčiau rodytą ekraną.
Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) FirstName.Text rezultatas eilės tvarka palyginamas su „Carlos“, „Kirstin“ ir „John“. Randamas „John“ atitikmuo, todėl programa pereina į Screen3. teisingas

Ekranas pakeičiamas į Screen3.

Nuoseklūs veiksmai

  1. Įtraukite teksto įvesties valdiklį ir jį pavadinkite Text1 (jei numatytasis jo pavadinimas nėra toks).

  2. Valdiklyje Text1 įveskite 30.

  3. Įtraukite žymos valdiklį ir jo ypatybę Tekstas nustatykite kaip šią formulę:
    If( Value(Text1.Text) < 20, "Užsakyti DAUG daugiau!", Value(Text1.Text) < 40, "Užsakyti daugiau!", Text1.Text )

    Valdiklis Label rodo Užsakyti daugiau!, nes Text1 reikšmė yra didesnė nei 20, bet mažesnė nei 40.

  4. Valdiklyje Text1 įveskite 15.

    Valdiklis Label rodo Užsakyti DAUG daugiau!, nes Text1 reikšmė yra mažesnė nei 20.

  5. Valdiklyje Text1 įveskite 50.

    Žymos valdiklyje rodoma įvesta reikšmė, nes ji yra didesnė nei 40.