Kopīgot, izmantojot


If un Switch funkcijas

Attiecas uz: Audekla programmas Copilot Studio Darbvirsmas plūsmas Dataverse formulas kolonnas Modeļa vadītas programmas Power Platform CLI Dataverse funkcijas Power Pages

Nosaka, vai kāds nosacījums kopā ir patiess (If) vai formulas rezultāts atbilst jebkurai vērtībai kopā (Switch), un pēc tam atgriež rezultātu vai izpilda darbību.

Apraksts

Funkcija If pārbauda vienu vai vairākus nosacījumus, līdz tiek atrasts patiess rezultāts. If Šāds rezultāts tiek atrasts, tiek atgriezta atbilstoša vērtība. If Šāds rezultāts nav atrasts, tiek atgriezta noklusējuma vērtība. Jebkurā gadījumā atgrieztā vērtība varētu būt rādāmā virkne, vērtējamā formula vai cita veida rezultāts.

Funkcija Switch novērtē formulu un nosaka, vai rezultāts atbilst kādai vērtībai norādītajā secībā. If Tiek atrasta atbilstība, tiek atgriezta atbilstoša vērtība. If Atbilstība nav atrasta, tiek atgriezta noklusējuma vērtība. Jebkurā gadījumā atgrieztā vērtība varētu būt rādāmā virkne, vērtējamā formula vai cita veida rezultāts.

If un ir Switch ļoti līdzīgi, bet jums vajadzētu izmantot vislabāko funkciju jūsu situācijai:

  • Izmantojiet If , lai novērtētu vienu nosacījumu. Visizplatītākā šīs funkcijas sintakse ir If( Condition, ThenResult, DefaultResult ), kas nodrošina kopējo "ja ... tad ... Vēl ..." modelis, kas redzams citos programmēšanas rīkos.
  • Izmantojiet If , lai novērtētu vairākus nesaistītus apstākļus. Power Apps (atšķirībā no Microsoft Excel) varat norādīt vairākus nosacījumus, neligzdojot If formulas.
  • Izmantojiet Switch , lai novērtētu vienu nosacījumu pret vairākām iespējamām atbilstībām. Varat izmantot If arī šajā gadījumā, bet formula ir jāatkārto katrai iespējamai atbilstībai.

Varat izmantot abas šīs funkcijas uzvedības formulās, lai tās sadalītu starp divām vai vairākām darbībām. Darbību uzsāks tikai viens atzars. Nosacījumi un atbilstības tiek novērtētas secīgi, un tās aptur, ja nosacījums ir true vai ja ir atrasta atbilstība.

Tukšs tiek atgriezts, ja neviens nosacījums nav patiess, nav atrastas atbilstības un nav norādīts noklusējuma rezultāts.

Sintakse

If( Nosacījums, TadRezultāts [, DefaultResult ] )
If( Nosacījums1, TadRezultāts1 [, Nosacījums2, TadRezultāts2, ... [ , DefaultResult ] ] )

  • Nosacījumi - Nepieciešams. Formula(s), kurām pārbaudīt true. Šādas formulas parasti satur salīdzinājuma operatorus (piemēram, <, > un =) un testa funkcijas, piemēram, IsBlank un IsEmpty.
  • TadRezultāti - Nepieciešams. Atbilstošā vērtība, ko atgriezt nosacījumam, kas tiek novērtēts kā true.
  • DefaultResult - neobligāts. Atgriežamā vērtība, ja neviens nosacījums netiek novērtēts kā true. If Šo argumentu nenorādāt, tiek atgriezts tukšs .

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

  • Formula - Nepieciešams. Formula, kuru izvērtēt atbilstībām. Šī formula tiek novērtēta tikai vienreiz.
  • Sērkociņi - Nepieciešams. Vērtības, ar kurām salīdzināt rezultātu no Formula. If tiek atrasta precīza atbilstība, tiek atgriezts atbilstošais rezultāts .
  • Rezultāti - obligāti. Atbilstošā vērtība, kuru atgriezt, ja ir atrasta precīza atbilstība.
  • DefaultResult - neobligāts. If Precīza atbilstība netiek atrasta, šī vērtība tiek atgriezta. If Šo argumentu nenorādāt, tiek atgriezts tukšs .

Piemēri

Vērtības formulās

Tālāk parādītajos piemēros vadīklas Slīdnis (ar nosaukumu Slider1) vērtība ir 25.

Formula Apraksts Rezultāts
If( Slider1.Value = 25, "Rezultāts1" ) Nosacījums ir true, un tiek atgriezts atbilstošais rezultāts. "Result1"
If( Slider1.Value = 25, "Rezultāts1", "Rezultāts2" ) Nosacījums ir true, un tiek atgriezts atbilstošais rezultāts. "Result1"
If( Slider1.Value > 1000, "Result1" ) Nosacījums ir false un netiek nodrošināts DefaultResult. Tukša
If( Slider1.Value > 1000, "Result1", "Result2" ) Nosacījums ir false tiek nodrošināts DefaultResult, un tas tiek atgriezts. "Result2"
If( Slider1.Value = 25, "Result1", Slider1.Value > 0, "Result2" ) Pirmais nosacījums ir true, un tiek atgriezts atbilstošais rezultāts. Arī otrs nosacījums ir true, taču tas netiek vērtēts, jo tas parādās vēlāk argumentu sarakstā, nekā nosacījums, kas tiek novērtēts ar true. "Result1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Pirmais nosacījums ir false, jo slīdnis nav tukšs. Otrais nosacījums ir true, jo slīdņa vērtība ir skaitlis, un tiek atgriezts atbilstošais rezultāts. "Result2"
If( Slider1.Value > 1000, "Result1", Slider1.Value > 50, "Result2", "Result3") Gan pirmais, gan otrais nosacījums ir false, tiek nodrošināts DefaultResult, un tas tiek atgriezts. "Result3"
Switch( Slider1.Value, 25, "Rezultāts1" ) Slīdņa vērtība atbilst pirmajai pārbaudāmajai vērtībai, un tiek atgriezts atbilstošais rezultāts. "Result1"
Switch( Slider1.Value, 20, "Result1", 25, "Result2", 30, "Result3" ) Slīdņa vērtība atbilst otrajai pārbaudāmajai vērtībai, un tiek atgriezts atbilstošais rezultāts. "Result2"
Switch( Slider1.Value, 20, "Result1", 10, "Result2", 0, "Result3", "DefaultResult" ) Slīdņa vērtība neatbilst nevienai pārbaudāmajai vērtībai. Tiek nodrošināts DefaultResult, tāpēc to atgrieza. "DefaultResult"

Zarošanās uzvedības formulās

Šajos piemēros Text input vadīklai ar nosaukumu FirstName ir ierakstīta vērtība "John".

Formula Apraksts Rezultāts
If( ! IsBlank( Vārds.Teksts ), Navigate( Screen1, ScreenTransition.None ) ) Nosacījums ir true, tāpēc funkcija Navigate tiek palaista. Varat izmantot funkciju IsBlank, lai pārbaudītu, vai nepieciešamais veidlapas lauks ir aizpildīts. If Vārds būtu tukšs, šai formulai nebūtu nekādas ietekmes. patiess

Displejs tiek nomainīts uz Screen1
If( IsBlank( Vārds.Teksts ), Navigate( Screen1, ScreenTransition.None ), Back() ) Bez ! operatora, nosacījums ir aplams, tāpēc funkcija Navigate netiek palaista. Back funkcija tika nodrošināta kā DefaultResult, tāpēc tā tiek palaista. patiess

Displejs atgriežas ekrānā, kas tika rādīts iepriekš.
Switch( Vārds.Teksts, "Carlos", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) FirstName.Text vērtība tiek salīdzināta ar "Carlos", "Kirstin" un "John" šajā secībā. Ir atrasta atbilstība ar "John", tāpēc programma pāriet uz Screen3. patiess

Displejs tiek nomainīts uz Screen3

Pakāpeniskas darbības

  1. Pievienojiet Text input vadīklu un nosauciet to par Text1, ja tai pēc noklusējuma nav šāda nosaukuma.

  2. Laukā Text1 ievadiet 30.

  3. Pievienojiet vadīklu Etiķete un iestatiet tās rekvizītu Text uz šo formulu:
    If( Value(Text1.Text) < 20, "Pasūtīt DAUDZ vairāk!", Value(Text1.Text) < 40, "Pasūtīt vairāk!", Text1.Text )

    Vadīkla Etiķete rāda Order more!, jo Text1 vērtība ir vairāk nekā 20, bet mazāk nekā 40.

  4. Laukā Text1 ievadiet 15.

    Vadīkla Etiķete rāda Order MANY more!, jo Text1 vērtība ir mazāk nekā 20.

  5. Laukā Text1 ievadiet 50.

    Etiķetes vadīklā tiek parādīta jūsu ierakstītā vērtība, jo tā ir lielāka par 40.