Funkcie If a Switch v službe PowerAppsIf and Switch functions in PowerApps

Zisťuje, či je niektorá podmienka v množine pravda (If) alebo či sa výsledok vzorca zhoduje s niektorou hodnotou v množine (Switch), a potom vráti výsledok alebo vykoná akciu.Determines whether any condition in a set is true (If) or the result of a formula matches any value in a set (Switch) and then returns a result or executes an action.

PopisDescription

Funkcia If testuje jednu alebo viac podmienok, kým sa nenájde výsledok, ktorý je true (pravda).The If function tests one or more conditions until a true result is found. Ak sa takýto výsledok nájde, vráti sa zodpovedajúca hodnota.If such a result is found, a corresponding value is returned. Ak sa takýto výsledok nenájde, vráti sa predvolená hodnota.If no such result is found, a default value is returned. V oboch prípadoch môže byť vrátenou hodnotou reťazec na zobrazenie, vzorec na vyhodnotenie alebo iná forma výsledku.In either case, the returned value might be a string to show, a formula to evaluate, or another form of result.

Funkcia Switch vyhodnocuje vzorec a zisťuje, či výsledok zodpovedá niektorej hodnote v zadanom poradí.The Switch function evaluates a formula and determines whether the result matches any value in a sequence that you specify. Ak sa zhoda nájde, vráti sa zodpovedajúca hodnota.If a match is found, a corresponding value is returned. Ak sa zhoda nenájde, vráti sa predvolená hodnota.If no match is found, a default value is returned. V oboch prípadoch môže byť vrátenou hodnotou reťazec na zobrazenie, vzorec na vyhodnotenie alebo iná forma výsledku.In either case, the returned value might be a string to show, a formula to evaluate, or another form of result.

Funkcie If a Switch sú veľmi podobné, ale mali by ste použiť najvhodnejšiu funkciu pre konkrétnu situáciu:If and Switch are very similar, but you should use the best function for your situation:

  • Funkciu If použite na vyhodnotenie jednej podmienky.Use If to evaluate a single condition. Najbežnejšia syntax pre túto funkciu je If( Condition, ThenResult, DefaultResult ), ktorá zodpovedá bežnému vzoru „ak …The most common syntax for this function is If( Condition, ThenResult, DefaultResult ), which provides the common “if … potom …then … inak …“else …” známemu z iných programovacích nástrojov.pattern seen in other programming tools.
  • Funkciu If použite na vyhodnotenie niekoľkých nesúvisiacich podmienok.Use If to evaluate multiple unrelated conditions. V službe PowerApps (na rozdiel od Microsoft Excelu) môžete zadať viac podmienok bez toho, aby ste museli vzorce If vnoriť.In PowerApps (unlike Microsoft Excel), you can specify multiple conditions without having to nest If formulas.
  • Funkciu Switch použite na vyhodnotenie jednej podmienky oproti viacerým možným zhodám.Use Switch to evaluate a single condition against multiple possible matches. V tomto prípade môžete tiež použiť funkciu If, ale museli by ste vzorec opakovať pre každú možnú zhodu.You can also use If in this case, but you'd need to repeat the formula for each possible match.

Obe tieto funkcie môžete použiť vo vzorcoch správania na vetvenie medzi dvomi alebo viacerými akciami.You can use both of these functions in behavior formulas to branch between two or more actions. Akciu spustí iba jedna vetva.Only one branch will trigger an action. Podmienky a zhody sa vyhodnocujú v poradí a vyhodnocovanie sa zastaví, ak je podmienka true alebo sa nájde zhoda.Conditions and matches are evaluated in order, and they stop if a condition is true or a match is found.

Ak žiadna podmienka nie je true, nenájdu sa žiadne zhody a nezadáte predvolený výsledok, vráti sa hodnota blank (prázdne).Blank is returned if no conditions are true, no matches are found, and you don't specify a default result.

SyntaxSyntax

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

  • Condition(s) – povinné.Condition(s) - Required. Vzorce, ktoré sa majú otestovať, či sú true.Formula(s) to test for true. Takéto vzorce obvykle obsahujú operátory porovnania (napríklad <, > a =) a testovacie funkcie, napr. IsBlank a IsEmpty.Such formulas commonly contain comparison operators (such as <, >, and =) and test functions such as IsBlank and IsEmpty.
  • ThenResult(s) – povinné.ThenResult(s) - Required. Zodpovedajúca hodnota, ktorá má byť vrátená, ak sa podmienka vyhodnotí ako true.The corresponding value to return for a condition that evaluates to true.
  • DefaultResult – voliteľné.DefaultResult - Optional. Hodnota, ktorá má byť vrátená, ak sa žiadna podmienka nevyhodnotí ako true.The value to return if no condition evaluates to true. Ak tento argument nezadáte, vráti sa prázdna hodnota.If you don't specify this argument, blank is returned.

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

  • Formula – povinné.Formula - Required. Vzorec, ktorý sa má vyhodnotiť z hľadiska zhody.Formula to evaluate for matches. Tento vzorec sa vyhodnotí iba raz.This formula is evaluated only once.
  • Match(s) – povinné.Match(s) - Required. Hodnoty, ktoré sa majú porovnať s výsledkom z argumentu Vzorec.Values to compare with the result from Formula. Ak sa nájde presná zhoda, vráti sa zodpovedajúci Výsledok.If an exact match is found, the corresponding Result is returned.
  • Result(s) – povinné.Result(s) - Required. Zodpovedajúca hodnota, ktorá sa má vrátiť, ak sa nájde presná zhoda.The corresponding value to return when an exact match is found.
  • DefaultResult – voliteľné.DefaultResult - Optional. Táto hodnota sa vráti, ak sa presná zhoda nenájde.If an exact match isn't found, this value is returned. Ak tento argument nezadáte, vráti sa prázdna hodnota.If you don't specify this argument, blank is returned.

PríkladyExamples

Hodnoty vo vzorcochValues in formulas

V nasledujúcich príkladoch má ovládací prvok Slider (s názvom Slider1) hodnotu 25.In the following examples, a Slider control (named Slider1) has a value of 25.

VzorecFormula PopisDescription VýsledokResult
If( Slider1.Value = 25, "Result1" )If( Slider1.Value = 25, "Result1" ) Podmienka je vyhodnotená ako true a vráti sa zodpovedajúci výsledok.The condition is true, and the corresponding result is returned. "Result1""Result1"
If( Slider1.Value = 25, "Result1", "Result2" )If( Slider1.Value = 25, "Result1", "Result2" ) Podmienka je vyhodnotená ako true a vráti sa zodpovedajúci výsledok.The condition is true, and the corresponding result is returned. "Result1""Result1"
If( Slider1.Value > 1000, "Result1" )If( Slider1.Value > 1000, "Result1" ) Podmienka je false (nepravda) a nebol zadaný žiaden DefaultResult.The condition is false, and no DefaultResult was provided. prázdna hodnotablank
If( Slider1.Value > 1000, "Result1", "Result2" )If( Slider1.Value > 1000, "Result1", "Result2" ) Podmienka je false, bol zadaný DefaultResult a ten je vrátený.The condition is false, a DefaultResult was provided, and it's returned. "Result2""Result2"
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" )If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) Prvá podmienka je true a vráti sa zodpovedajúci výsledok.The first condition is true, and the corresponding result is returned. Druhá podmienka je tiež true, ale nevyhodnotí sa, pretože sa v zozname argumentov nachádza až za podmienkou, ktorá sa vyhodnotila ako true.The second condition is also true, but it isn't evaluated because it appears later in the argument list than a condition that evaluates to true. "Result1""Result1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" )If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Prvá podmienka je false, pretože jazdec nie je prázdny.The first condition is false because the slider isn't blank. Druhá podmienka je true, pretože hodnota jazdca je číslo, takže sa vráti zodpovedajúci výsledok.The second condition is true because the slider's value is a number, and the corresponding result is returned. "Result2""Result2"
If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3")If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") Prvá aj druhá podmienka sú false a bol zadaný DefaultResult, ktorý bude vrátený.Both the first and second conditions are false, a DefaultResult was provided, and it's returned. "Result3""Result3"
Switch( Slider1.Value, 25, "Result1" )Switch( Slider1.Value, 25, "Result1" ) Hodnota jazdca sa zhoduje s prvou hodnotou, ktorá sa má skontrolovať, a vráti sa zodpovedajúci výsledok.The slider's value matches the first value to be checked, and the corresponding result is returned. "Result1""Result1"
Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" )Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) Hodnota jazdca sa zhoduje s druhou hodnotou, ktorá sa má skontrolovať, a vráti sa zodpovedajúci výsledok.The slider's value matches the second value to be checked, and the corresponding result is returned. "Result2""Result2"
Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" )Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) Hodnota jazdca sa nezhoduje so žiadnou kontrolovanou hodnotou.The slider's value doesn't match any value to be checked. Bol zadaný DefaultResult, ktorý bude preto vrátený.A DefaultResult was provided, so it's returned. "DefaultResult""DefaultResult"

Vetvenie vo vzorcoch správaniaBranching in behavior formulas

V týchto príkladoch má ovládací prvok Text input nazvaný FirstName zadanú hodnotu „Ján“.In these examples, a Text input control named FirstName has the value "John" typed into it.

VzorecFormula PopisDescription VýsledokResult
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) )If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) Podmienka je true, preto sa spustí funkcia Navigate.The condition is true, so the Navigate function runs. Pomocou funkcie IsBlank môžete otestovať, či je povinné pole formulára vyplnené.You can use the IsBlank function to test whether a required form field has been filled in. Ak by FirstName bolo prázdne, tento vzorec by nemal žiaden vplyv.If FirstName were blank, this formula would have no effect. truetrue

Zobrazenie sa zmení na Obrazovka1.The display is changed to Screen1.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() )If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) Bez operátora !Without the ! je podmienka false, preto sa funkcia Navigate nespustí.operator, the condition is false, so the Navigate function doesn't run. Ako DefaultResult bola zadaná funkcia Back, preto sa spustí.The Back function was provided as a DefaultResult, so it runs. truetrue

Zobrazenie sa vráti späť na predchádzajúcu obrazovku.The display goes back to the screen that was previously shown.
Switch( FirstName.Text, "Karol", Navigate( Screen1, ScreenTransition.None ), "Kristína", Navigate( Screen2, ScreenTransition.None ), "Ján", Navigate( Screen3, ScreenTransition.None ) )Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) Hodnota FirstName.Text sa porovná s hodnotami „Karol“, „Kristína“ a „Ján“ v tomto poradí.The value of FirstName.Text is compared against "Carlos", "Kirstin", and "John" in that order. Nájde sa zhoda s hodnotou „Ján“, takže aplikácia prejde na zobrazenie 3.A match is found with "John", so the app navigates to Screen3. truetrue

Zobrazenie sa zmení na Obrazovka3.The display is changed to Screen3.

Podrobný postupStep by step

  1. Pridajte ovládací prvok Text input a nazvite ho Text1, ak sa tak už nenazýva podľa predvoleného nastavenia.Add a Text input control, and name it Text1 if it doesn't have that name by default.

  2. Do poľa Text1 zadajte hodnotu 30.In Text1, type 30.

  3. Pridajte ovládací prvok Označenie a pre jeho vlastnosť Text nastavte tento vzorec:Add a Label control, and set its Text property to this formula:
    If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )If( Value(Text1.Text) < 20, "Order MANY more!", Value(Text1.Text) < 40, "Order more!", Text1.Text )

    Ovládací prvok Označenie zobrazí Order more!,The Label control shows Order more! pretože hodnota Text1 je väčšia ako 20, ale menšia ako 40.because the value of Text1 is more than 20 but less than 40.

  4. Do poľa Text1 zadajte hodnotu 15.In Text1, type 15.

    Ovládací prvok Označenie zobrazí Order MANY more!,The Label control shows Order MANY more! pretože hodnota Text1 je menšia ako 20.because the value of Text1 is less than 20.

  5. Do poľa Text1 zadajte hodnotu 50.In Text1, type 50.

    Ovládací prvok Označenie zobrazí hodnotu, ktorú ste zadali, pretože je väčšia ako 40.The Label control shows the value that you typed because it's more than 40.