Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Taikoma: Drobės programėlės
"Copilot Studio Desktop"
srautuos
"Dataverse" formulių stulpelius
Modeliu pagrįstos programos
"Power Platform" CLI
"Dataverse" funkcijos
"Power Pages"
Nustato, ar kuri nors rinkinio sąlyga yra teisinga (If), ar formulės rezultatas atitinka bet kurią reikšmę rinkinyje (Switch), tada pateikia rezultatą arba vykdo veiksmą.
Aprašas
Funkcija If tikrina vieną ar daugiau sąlygų, kol randama teisingas rezultatas. If rezultatas, grąžinama atitinkama reikšmė. If tokio rezultato nerasta, grąžinama 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 kurią jūsų nurodytos sekos reikšmę. If randama atitiktis, grąžinama atitinkama reikšmė. If nerasta atitikmens, grąžinama 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šūs, bet turėtumėte naudoti geriausią funkciją savo situacijai:
- Naudokite If norėdami įvertinti vieną sąlygą. Dažniausiai naudojama šios funkcijos sintaksė yra If( Condition, ThenResult, DefaultResult ), kuri pateikia bendrą "jei ... tada … Kitaip ..." raštas, matomas kituose programavimo įrankiuose.
- Naudokite If norėdami įvertinti kelias nesusijusias sąlygas. "Power Apps" (skirtingai nei "Microsoft Excel"), galite nurodyti kelias sąlygas neįdėdami If formulių.
- Naudokite Switch norėdami įvertinti vieną sąlygą pagal kelis galimus atitikmenis. Šiuo atveju taip pat galite naudoti If , tačiau formulę reikia pakartoti su kiekvienu galimu atitikmeniu.
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.
Tuščia reikšmė pateikiama, jei nėra teisingų sąlygų, nerandama atitikmenų ir nenurodote numatytojo rezultato.
Sintaksė
If( Sąlyga, ThenResult [, DefaultResult ] )
If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )
- Sąlygos - 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.
- TadaRezultatai - reikia. Atitinkama pateiktina sąlygos, kurios įvertinta reikšmė yra true, reikšmė.
- DefaultResult - Pasirinktinai. Reikšmė, kurią reikia pateikti, jei jokios sąlygos įvertinta reikšmė nėra true. If nenurodysite šio argumento, bus pateiktas tuščias .
Switch( Formula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )
- Formulė - būtina. Formulė, kurią reikia įvertinti ieškant atitikmenų. Ši formulė įvertinama tik vieną kartą.
- Rungtynės - Būtina. Reikšmės, kurias reikia palyginti su formulės rezultatu. If rastas tikslus atitikmuo, grąžinamas atitinkamas rezultatas .
- Rezultatai - Būtina. Pateiktina atitinkama reikšmė, kai randamas tikslus atitikmuo.
- DefaultResult - Pasirinktinai. If tikslaus atitikmens nerasta, grąžinama ši reikšmė. If nenurodysite šio argumento, bus pateiktas tuščias .
Pavyzdžiai
Reikšmės formulėse
Toliau pateikiamuose pavyzdžiuose slankiklio valdiklio (pavadinto Slider1) reikšmė yra 25.
| Formulė | Aprašas | 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. | Tuščią |
| 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( Slankiklis1.Reikšmė, 25, "Result1" ) | Slankiklio reikšmė atitinka pirmąją reikšmę, kurią reikia tikrinti, ir pateikiamas atitinkamas rezultatas. | „Result1“ |
| Switch( Slankiklis1.Reikšmė, 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. If Vardas buvo tuščias, ši formulė neturės įtakos. |
Tiesa 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. |
Tiesa 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. |
Tiesa Ekranas pakeičiamas į Screen3. |
Nuoseklūs veiksmai
Įtraukite teksto įvesties valdiklį ir jį pavadinkite Text1 (jei numatytasis jo pavadinimas nėra toks).
Valdiklyje Text1 įveskite 30.
Įtraukite žymos valdiklį ir jo ypatybę Tekstas nustatykite kaip šią formulę:
If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )Valdiklis Label rodo Užsakyti daugiau!, nes Text1 reikšmė yra didesnė nei 20, bet mažesnė nei 40.
Valdiklyje Text1 įveskite 15.
Valdiklis Label rodo Užsakyti DAUG daugiau!, nes Text1 reikšmė yra mažesnė nei 20.
Valdiklyje Text1 įveskite 50.
Žymos valdiklyje rodoma įvesta reikšmė, nes ji yra didesnė nei 40.