If és Switch függvények

A következőkre vonatkozik: Vászonalapú alkalmazások képletoszlopai Dataverse Asztali folyamatok Modellvezérelt alkalmazások Power Platform CLI

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.

Ismertetés

Az If függvény feltételeket vizsgál, amíg egy igaz eredményt nem talál. Ha talált ilyen eredményt, megfelelő értéket ad vissza. Ha nem talál ilyen eredményt, alapértelmezett értéket ad vissza. A visszaadott érték mindkét esetben lehet egy megjelenítendő sztring, egy kiértékelendő képlet vagy egyéb formájú eredmény.

A Switch függvény kiértékeli a képletet, és meghatározza, hogy az eredmény megfelel-e egy megadott sorozat valamelyik értékének. Ha talál egyezést, egy megfelelő értéket ad vissza. Ha nem talál egyezést, egy alapértelmezett értéket ad vissza. A visszaadott érték mindkét esetben lehet egy megjelenítendő sztring, egy kiértékelendő képlet vagy egyéb formájú eredmény.

Az If és a Switch nagyon hasonlít, de a helyzethez legjobban illő függvényt kell használni:

  • Egyetlen feltétel kiértékeléséhez használjon If függvényt. A függvény leggyakoribb szintaxisa az If(Condition,ThenResult,DefaultResult ), amely a közös "if ... then … Más ..." más programozási eszközökben látható minta.
  • Több nem kapcsolódó feltétel kiértékeléséhez használjon If függvényt. A Power Apps rendszerben (a Microsoft Exceltől eltérően) több feltételt is megadhat If képletek beágyazása nélkül.
  • Egyetlen feltétel több lehetséges egyezéssel szembeni kiértékeléséhez használjon Switch függvényt. Az If függvényt is használhatja, de ekkor minden lehetséges egyezéshez meg kell ismételnie a képletet.

Mindkét függvényt használhatja viselkedési képletekben két vagy több művelet közötti elágaztatáshoz. Csak egy ág vált ki műveletet. A feltételek és egyezések kiértékelése sorrendben történik, és leáll, ha egy feltétel igaz értékű, vagy ha a rendszer egyezést talál.

Üres értéket adnak vissza a függvények, ha nincs igaz értékű feltétel, nem található egyezés, és Ön nem adott meg alapértelmezett eredményt.

Szintaxis

If( feltétel, Eredmény [, AlapértelmezettEredmény ] )
If( feltétel1, Eredmény1 [, feltétel2, Eredmény2, ... [ , AlapértelmezettEredmény ] ] )

  • Feltétel(ek) – Kötelező. A igaz érték tesztelésére szolgáló képlet(ek). Ezek a képletek gyakran tartalmaznak összehasonlító operátorokat (például <, > vagy =) és tesztelési függvényeket, például IsBlank vagy IsEmpty.
  • Eredmény(ek) – Kötelező. A feltétel igaz értékkel történő kiértékelése esetén visszaadandó megfelelő érték.
  • AlapértelmezettEredmény – Nem kötelező. A visszatérési érték, ha nincs igaz feltétel. Ha nem adja meg ezt az argumentumot, a függvény üres értéket ad vissza.

Switch( Képlet, Egyezés1, Eredmény1 [, Egyezés2, Eredmény2, ... [, AlapértelmezettEredmény ] ] )

  • Formula – Kötelező. Az egyezések kiértékeléséhez használandó képlet. A képlet csak egyszer lesz kiértékelve.
  • Egyezés(ek) – Kötelező. A képlet által visszaadott eredménnyel összehasonlítandó értékek. Ha a rendszer pontos egyezést talál, a megfelelő eredményt adja vissza.
  • Eredmény(ek) – Kötelező. A megfelelő visszatérési érték, amikor a rendszer pontos egyezést talál.
  • AlapértelmezettEredmény – Nem kötelező. Ha nem található pontos egyezés, akkor a függvény ezt az értéket adja vissza. Ha nem adja meg ezt az argumentumot, a függvény üres értéket ad vissza.

Példák

Értékek a képletekben

A következő példákban egy Csúszka vezérlő (a Slider1) értéke 25.

Képlet Description Result
If( Slider1.Value = 25, "Eredmény1" ) A feltétel igaz, és a függvény az ennek megfelelő eredményt adja vissza. "Eredmény1"
If( Slider1.Value = 25, "Eredmény1", "Eredmény2" ) A feltétel igaz, és a függvény az ennek megfelelő eredményt adja vissza. "Eredmény1"
If( Slider1.Value>1000, "Eredmény1" ) A feltétel hamis, és nem lett megadva AlapértelmezettEredmény. üres
If( Slider1.Value>1000, "Eredmény1", "Eredmény2" ) A feltétel hamis, az AlapértelmezettEredmény meg lett adva, és a rendszer vissza is adta. "Eredmény2"
If( Slider1.Value = 25, "Eredmény1", Slider1.Value > 0, "Eredmény2" ) Az első feltétel igaz, és a függvény ennek megfelelő eredményt ad vissza. A második feltétel is igaz, de a rendszer nem értékeli ki, mert az argumentumlistában később szerepel, mint egy feltétel igaz kiértékelésű feltétel. "Eredmény1"
If( IsBlank( Slider1.Value ), "Eredmény1", IsNumeric( Slider1.Value ), "Eredmény2" ) Az első feltétel hamis mert a csúszka nem üres. A második feltétel igaz, mert a csúszka értéke szám, és a rendszer ennek megfelelő eredményt ad vissza. "Eredmény2"
If( Slider1.Value>1000, "Eredmény1", Slider1.Value>50, "Eredmény2", "Eredmény3") Az első és második feltétel hamis, meg lett adva AlapértelmezettEredmény lett megadva, és a rendszer ezt adja vissza. "Eredmény3"
Switch( Slider1.Value, 25, "Eredmény1" ) A csúszka értéke megegyezik az első ellenőrizendő értékkel, és a rendszer ennek megfelelő eredményt ad vissza. "Eredmény1"
Switch( Slider1.Value, 20, "Result1", 25, "Eredmény2", 30, "Eredmény3" ) A csúszka értéke megegyezik a második ellenőrizendő értékkel, és a rendszer ennek megfelelő eredményt ad vissza. "Eredmény2"
Switch( Slider1.Value, 20, "Eredmény1", 10, "Eredmény2", 0, "Eredmény3", "DefaultResult" ) A csúszka értéke nem egyezik egy ellenőrizendő értékkel sem. Az AlapértelmezettEredmény meg lett adva, ezért a rendszer ezt adja vissza. "AlapértelmezettEredmény"

Elágazás viselkedési képletekben

Ezekben a példákban a Keresztnév nevű szövegbeviteli vezérlőelembe beírt érték „János”.

Képlet Ismertetés Eredmény
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) A feltétel igaz, ezért lefut a Navigate függvény. Használhatja az IsBlank függvényt annak megállapítására, hogy a kötelező űrlapmező ki van-e töltve. Ha a Keresztnévblank lenne, a képletnek nem lenne hatása. true

A megjelenítés a Screen1 képernyőre vált.
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) A ! operátor nélkül a feltétel hamis, így a Navigate függvény nem fut le. A Back függvény lett megadva mint AlapértelmezettEredmény, így ez a függvény lefut. true

A megjelenítés visszatér arra képernyőre, amely korábban volt látható.
Switch( Keresztnév.Text, "Károly", Navigate( Screen1, ScreenTransition.None ), "Krisztina", Navigate( Screen2, ScreenTransition.None ), "János", Navigate( Screen3, ScreenTransition.None ) ) A Keresztnév.Text értékét a rendszer összehasonlítja a „Károly”, a „Krisztina” és a „János” értékkel, ebben a sorrendben. A program egyezést talált a „János” értékkel, így az alkalmazás a Screen3 képernyőre navigál. true

A megjelenítés a Screen3 képernyőre vált.

Lépésről lépésre

  1. Adjon hozzá egy Szövegbevitel vezérlőelemet, és névként adja meg a Text1 nevet (nem ez a neve alapértelmezés szerint).

  2. A Text1 vezérlőben írja be az 30 értéket.

  3. Adjon hozzá egy Label vezérlőelemet, és a Szöveg tulajdonságát állítsa a következő képletre:
    If( Value(Text1.Text) < 20, "SOKKAL többet rendelni!", Value(Text1.Text) < 40, "Többet rendelni!", Text1.Text )

    A Címke vezérlő a Többet rendelni! szöveget jeleníti meg, mivel a Szöveg1 értéke nagyobb mint 20, de kisebb mint 40.

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

    A Címke vezérlő a SOKKAL többet rendelni! szöveget jeleníti meg, mivel a Szöveg1 értéke kisebb mint 20.

  5. A Text1 vezérlőben írja be a 50 értéket.

    A Címke vezérlő a beírt értéket jeleníti meg, mert az nagyobb, mint 40.