A PowerApps If és Switch függvényeiIf and Switch functions in PowerApps

Meghatározza, hogy igaz-e a feltétel egy halmazban (If) vagy egy képlet eredménye megfelel-e a halmaz bármely értékének (Switch) majd eredményt ad vissza, illetve végrehajt egy műveletet.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.

LeírásDescription

Az If függvény megvizsgál egy vagy több feltételt, amíg egy igaz eredményt talál.The If function tests one or more conditions until a true result is found. Ha talált ilyen eredményt, egy megfelelő értéket ad vissza.If such a result is found, a corresponding value is returned. Ha nem talál ilyen eredményt, egy alapértelmezett értéket ad vissza.If no such result is found, a default value is returned. Mindkét esetben a visszaadott érték lehet egy megjelenítendő karakterlánc, kiértékelendő képlet vagy egyéb formájú eredmény.In either case, the returned value might be a string to show, a formula to evaluate, or another form of result.

A Switch függvény kiértékeli a képletet, és meghatározza, hogy az eredmény megfelel-e bármely értéknek egy megadott sorozatban.The Switch function evaluates a formula and determines whether the result matches any value in a sequence that you specify. Ha talál egyezést, egy megfelelő értéket ad vissza.If a match is found, a corresponding value is returned. Ha nem talál egyezést, egy alapértelmezett értéket ad vissza.If no match is found, a default value is returned. Mindkét esetben a visszaadott érték lehet egy megjelenítendő karakterlánc, kiértékelendő képlet vagy egyéb formájú eredmény.In either case, the returned value might be a string to show, a formula to evaluate, or another form of result.

Az If és a Switch nagyon hasonlít egymáshoz, de a helyzethez legjobban illő függvényt kell használnia:If and Switch are very similar, but you should use the best function for your situation:

  • Egyetlen feltétel kiértékeléséhez használjon If függvényt.Use If to evaluate a single condition. A függvény leggyakoribb szintaxisa If( feltétel, ThenResult, DefaultResult), amely biztosítja az általános "Ha...The most common syntax for this function is If( Condition, ThenResult, DefaultResult ), which provides the common “if … majd...then … más..."else …” mintázatot, amely ismerős lehet más programozási eszközökből.pattern seen in other programming tools.
  • Használjon If függvényt több nem kapcsolódó feltétel kiértékeléséhez.Use If to evaluate multiple unrelated conditions. A PowerApps-ban (ellentétben a Microsoft Excellel) több feltételt is megadhat If képletek beágyazása nélkül.In PowerApps (unlike Microsoft Excel), you can specify multiple conditions without having to nest If formulas.
  • Használjon Switch függvényt egyetlen feltétel több lehetséges egyezéssel szembeni kiértékeléséhez.Use Switch to evaluate a single condition against multiple possible matches. Használhatja az If függvényt is ehhez, de ekkor meg kellene ismételnie a képletet minden lehetséges egyezéshez.You can also use If in this case, but you'd need to repeat the formula for each possible match.

Mindkét függvényt használhatja viselkedési képletekben két vagy több művelet közötti elágaztatáshoz.You can use both of these functions in behavior formulas to branch between two or more actions. Csak egy ág indít el műveletet.Only one branch will trigger an action. A feltételek és egyezések kiértékelése sorrendben történik, és leáll, ha egy feltétel igaz vagy a program egyezést talál.Conditions and matches are evaluated in order, and they stop if a condition is true or a match is found.

Üres értéket adnak vissza a függvények, ha nincs igaz értékű feltétel, nem található egyezés, és nem adott meg alapértelmezett eredményt.Blank is returned if no conditions are true, no matches are found, and you don't specify a default result.

SzintaxisSyntax

If( feltétel, ThenResult [, DefaultResult ] )If( Condition, ThenResult [, DefaultResult ] )
If( Feltétel1, ThenResult1 [, Feltétel2, ThenResult2, ... [ , DefaultResult ] ] )If( Condition1, ThenResult1 [, Condition2, ThenResult2, ... [ , DefaultResult ] ] )

  • Feltétel(ek) – Kötelező.Condition(s) - Required. Az igaz eredmény tesztelésére szolgáló függvény(ek).Formula(s) to test for true. Ilyen képletek gyakran tartalmaznak összehasonlító operátorokat (például < , > , és = ) és tesztelési függvényeket, például IsBlank és IsEmpty.Such formulas commonly contain comparison operators (such as <, >, and =) and test functions such as IsBlank and IsEmpty.
  • ThenResult(s) – Kötelező.ThenResult(s) - Required. A feltétel igaz értékkel történő kiértékelése esetén visszaadandó megfelelő érték.The corresponding value to return for a condition that evaluates to true.
  • DefaultResult – Nem kötelező.DefaultResult - Optional. A visszatérési érték, ha nincs igaz feltétel.The value to return if no condition evaluates to true. Ha nem adja meg ezt az argumentumot, üres értéket ad vissza a függvény.If you don't specify this argument, blank is returned.

Switch( képlet, egyezés1, eredmény1 [, egyezés2, eredmény2, ... [, DefaultResult ] ] )Switch( Formula, Match1, Result1 [, Match2, Result2, ... [, DefaultResult ] ] )

  • Képlet – Kötelező.Formula - Required. Az egyezések kiértékeléséhez használandó képlet.Formula to evaluate for matches. A képlet csak egyszer lesz kiértékelve.This formula is evaluated only once.
  • Egyezés(ek) – Kötelező.Match(s) - Required. A képlet által visszaadott eredménnyel összehasonlítandó értékek.Values to compare with the result from Formula. Ha pontos egyezést talál, a megfelelő eredményt adja vissza.If an exact match is found, the corresponding Result is returned.
  • Eredmény(ek) – Kötelező.Result(s) - Required. A megfelelő visszatérési érték, amikor pontos egyezést talál.The corresponding value to return when an exact match is found.
  • DefaultResult – Nem kötelező.DefaultResult - Optional. Ha nem található pontos egyezés, akkor ezt az értéket adja vissza.If an exact match isn't found, this value is returned. Ha nem adja meg ezt az argumentumot, üres értéket ad vissza a függvény.If you don't specify this argument, blank is returned.

PéldákExamples

Értékek a képletekbenValues in formulas

A következő példákban egy Csúszka vezérlő (a Slider1) értéke 25.In the following examples, a Slider control (named Slider1) has a value of 25.

KépletFormula LeírásDescription EredményResult
If( Slider1.Value = 25, "Eredmény1" )If( Slider1.Value = 25, "Result1" ) A feltétel igaz, és az ennek megfelelő eredményt adja vissza.The condition is true, and the corresponding result is returned. "Eredmény1""Result1"
If( Slider1.Value = 25, "Eredmény1", "Eredmény2" )If( Slider1.Value = 25, "Result1", "Result2" ) A feltétel igaz, és az ennek megfelelő eredményt adja vissza.The condition is true, and the corresponding result is returned. "Eredmény1""Result1"
If( Slider1.Value > 1000, "Eredmény1" )If( Slider1.Value > 1000, "Result1" ) A feltétel hamis, és nem lett megadva a DefaultResult.The condition is false, and no DefaultResult was provided. üresblank
If( Slider1.Value > 1000, "Eredmény1", "Eredmény2" )If( Slider1.Value > 1000, "Result1", "Result2" ) A feltétel hamis, a DefaultResult meg lett adva, és vissza lett adva.The condition is false, a DefaultResult was provided, and it's returned. "Eredmény2""Result2"
If( Slider1.Value = 25, "Eredmény1", Slider1.Value > 0, "Eredmény2" )If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) Az első feltétel igaz, és az ennek megfelelő eredményt adja vissza.The first condition is true, and the corresponding result is returned. A második feltétel is igaz, de nem értékeli ki, mert az argumentumlistában később szerepel, mint egy feltétel igaz kiértékelésű feltétel.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. "Eredmény1""Result1"
If( IsBlank( Slider1.Value ), "Eredmény1", IsNumeric( Slider1.Value ), "Eredmény2" )If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Az első feltétel hamis mert a csúszka nem üres.The first condition is false because the slider isn't blank. A második feltétel igaz, mert a csúszka értéke egy szám, és az ennek megfelelő eredményt adja vissza.The second condition is true because the slider's value is a number, and the corresponding result is returned. "Eredmény2""Result2"
If( Slider1.Value > 1000, "Eredmény1", Slider1.Value > 50, "Eredmény2", "Eredmény3")If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") Az első és második feltételek hamis, egy DefaultResult lett megadva, és ezt adja vissza.Both the first and second conditions are false, a DefaultResult was provided, and it's returned. "Eredmény3""Result3"
Switch( Slider1.Value, 25, "Eredmény1" )Switch( Slider1.Value, 25, "Result1" ) A csúszka értéke megegyezik az első ellenőrizendő értékkel, és ennek megfelelő eredményt adja vissza.The slider's value matches the first value to be checked, and the corresponding result is returned. "Eredmény1""Result1"
Switch( Slider1.Value, 20, "Result1", 25, "Eredmény2", 30, "Eredmény3" )Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) A csúszka értéke megegyezik a második ellenőrizendő értékkel, és ennek megfelelő eredményt adja vissza.The slider's value matches the second value to be checked, and the corresponding result is returned. "Eredmény2""Result2"
Switch( Slider1.Value, 20, "Eredmény1", 10, "Eredmény2", 0, "Eredmény3", "DefaultResult" )Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) A csúszka értéke nem egyezik egyik ellenőrizendő értékkel sem.The slider's value doesn't match any value to be checked. A DefaultResult meg lett adva, ezért ezt adja vissza.A DefaultResult was provided, so it's returned. "DefaultResult""DefaultResult"

Elágazás viselkedési képletekbenBranching in behavior formulas

Ezekben a példákban a FirstName (Keresztnév) nevű Szövegbevitel vezérlő beírt értéke "János".In these examples, a Text input control named FirstName has the value "John" typed into it.

KépletFormula LeírásDescription EredményResult
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) )If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) A feltétel igaz, ezért lefut a Navigate függvény.The condition is true, so the Navigate function runs. Használhatja az IsBlank függvényt annak megállapítására, hogy a kötelező űrlapmező ki van töltve.You can use the IsBlank function to test whether a required form field has been filled in. Ha a FirstName üres volt, a képletnek nincs hatása.If FirstName were blank, this formula would have no effect. truetrue

A megjelenítés a Screen1 képernyőre vált.The display is changed to Screen1.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() )If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) A !Without the ! operátor nélkül a feltétel hamis, így a Navigate a függvény nem fut le.operator, the condition is false, so the Navigate function doesn't run. A Back (Vissza) függvény lett megadva, mint DefaultResult, így az lefut.The Back function was provided as a DefaultResult, so it runs. igaztrue

A megjelenítés visszatér arra képernyőre, amely korábban látható volt.The display goes back to the screen that was previously shown.
Switch( FirstName.Text, "Károly", Navigate( Screen1, ScreenTransition.None ), "Krisztina", Navigate( Screen2, ScreenTransition.None ), "János", Navigate( Screen3, ScreenTransition.None ) )Switch( FirstName.Text, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) A FirstName.Text értékét a rendszer összehasonlítja a "Károly", "Krisztina" és "János" értékekkel ebben a sorrendben.The value of FirstName.Text is compared against "Carlos", "Kirstin", and "John" in that order. A program egyezést talált a "János" értékkel, így az alkalmazás a Screen3 képernyőre navigál.A match is found with "John", so the app navigates to Screen3. truetrue

A megjelenítés a Screen3 képernyőre vált.The display is changed to Screen3.

Lépésről lépésreStep by step

  1. Adjon hozzá egy Szövegbevitel vezérlőt, és adjon neki nevet (Text1) ha nem ugyanez a neve már az alapértelmezés szerint.Add a Text input control, and name it Text1 if it doesn't have that name by default.
  2. A Text1 vezérlőben írja be a 30 értéket.In Text1, type 30.
  3. Vegyen fel egy Felirat vezérlőelemet, és a Text (Szöveg) tulajdonságát állítsa a következő képletre: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 )

    A Felirat vezérlő a Rendeljen többet! szöveget mutatja,The Label control shows Order more! mivel a Text1 értéke több mint 20, de kevesebb, mint 40.because the value of Text1 is more than 20 but less than 40.

  4. A Text1 vezérlőben írja be a 15 értéket.In Text1, type 15.

    A Felirat vezérlő a Rendeljen SOKKAL többet! szöveget mutatja,The Label control shows Order MANY more! mivel a Text1 értéke kevesebb, mint 20.because the value of Text1 is less than 20.

  5. A Text1 vezérlőben írja be az 50 értéket.In Text1, type 50.

    A Felirat vezérlő a beírt értéket jeleníti meg, mert az nagyobb, mint 40.The Label control shows the value that you typed because it's more than 40.