If және Switch функциялар

Келесілерге қолданылады: Кенеп бағдарламалары Copilot Studio Жұмыс үстелі ағындары Dataverse формула бағандары Үлгіге негізделген бағдарламалар Power Platform CLI Dataverse функциялары Power Pages

Жиындағы кез келген шарт true (If) немесе формула нәтижесі (Switch) жиынындағы кез келген мәнге сәйкес келетінін анықтайды, содан кейін нәтижені қайтарады немесе әрекетті орындайды.

Сипаттама

If Функция шынайы нәтиже табылғанға дейін бір немесе бірнеше шартты тексереді. If Мұндай нәтиже табылды, тиісті мән қайтарылады. If Мұндай нәтиже табылмайды, әдепкі мән қайтарылады. Жағдайлардың кез келгенінде, қайтарылған мән көрсететін жол, есептейтін формула немесе нәтиженің басқа түрі болуы керек.

Switch Функция формуланы есептейді және нәтиженің көрсетілген тізбектегі кез келген мәнге сәйкес келетінін анықтайды. If Сәйкестік табылды, тиісті мән қайтарылады. If Сәйкестік табылмады, әдепкі мән қайтарылады. Жағдайлардың кез келгенінде, қайтарылған мән көрсететін жол, есептейтін формула немесе нәтиженің басқа түрі болуы керек.

If Switch Олар өте ұқсас, бірақ сіз өзіңіздің жағдайыңыз үшін ең жақсы функцияны қолдануыңыз керек:

  • Бірыңғай шартты бағалау үшін қолданыңыз If . Бұл функцияның ең көп таралған синтаксисі ( IfШарт, Содан кейін,ДефолтНәтижесі ), ол ортақ «егер ... содан кейін ... else…» үлгісі басқа бағдарламалау құралдарында көрінеді.
  • Бір-бірімен байланысты емес көптеген шарттарды бағалау үшін пайдаланыңыз If . Power Apps бағдарламасында (Microsoft Excel бағдарламасынан айырмашылығы) формулаларды кірістірмей If бірнеше шарттарды көрсетуге болады.
  • Бірнеше ықтимал сәйкестіктерге қарсы бір шартты бағалау үшін пайдаланыңыз Switch . Сіз бұл жағдайда да қолдана If аласыз, бірақ әр ықтимал сәйкестік үшін формуланы қайталау керек.

Екі немесе бірнеше әрекет арасында тармақ жасау үшін мінез-құлық формулаларында осы функциялардың екеуін де пайдалануға болады. Бір тармақ қана әрекетті бастайды. Шарттар мен сәйкестіктер ретпен есептеледі және шарт true болса немесе сәйкестік табылса тоқтайды.

Ешбір шарттар шын болмаса, сәйкестіктер табылмаса және әдепкі нәтиже көрсетілмесе, босқайтарылады.

Синтаксис

If( Шарт, ThenResult [, DefaultResult ] )
If( Шарт1, содан кейінНәтиже1 [, шарт2, содан кейінНәтиже2, ... [ , ӘдепкіНәтиже ] ] )

  • Шарттар - Міндетті. true мәнін беретін-бермейтінін тексеретін формула(лар). Мұндай формулалар әдетте операторларды (мысалы, <, > және =) және IsBlank және IsEmpty сияқты тексеру функцияларын қамтиды.
  • Содан кейін нәтижелер - Міндетті. Есептегенде true мәнін беретін шарт үішн қайтарылатын сәйкес мән.
  • DefaultResult - Қосымша. Ешбір шарт есептегенде true мәнін бермесе қайтаратын мән. If Сіз бұл аргументті көрсетпесеңіз, бос орнату қайтарылады.

Switch( Формула, Match1, Result1 [, Match2, Result2, ... [, ӘдепкіНәтиже ] ] )

  • Формула - Міндетті. Сәйкестіктер бар-жоғы есептелетін формула. Бұл формула тек бір рет есептеледі.
  • Сәйкестіктер - Міндетті. Формула берген нәтижемен салыстыратын мәндер. If Нақты сәйкестік табылды, сәйкес нәтиже қайтарылады.
  • Нәтижелер - Міндетті. Дәл сәйкестік табылғанда қайтаратын сәйкес мән.
  • DefaultResult - Қосымша. If Дәл сәйкестік табылмады, бұл мән қайтарылады. If Сіз бұл аргументті көрсетпесеңіз, бос орнату қайтарылады.

Мысалдар

Формулалардағы мәндер

Келесі мысалда Жүгірткі басқару элементінің (Slider1 деп аталады) 25 мәні бар.

Формула Сипаттама Нәтиже
If( Жүгірткі1.Мән = 25, «Нәтиже1» ) Шарт — true және сәйкес нәтиже қайтарылды. "Result1"
If( Слайдер1.Мән = 25, "Нәтиже1", "Нәтиже2" ) Шарт — true және сәйкес нәтиже қайтарылды. "Result1"
If( Жүгірткі1.Мәні > 1000, «Нәтиже1» ) Шарт жалған және DefaultResult көрсетілмеген. бос
If( Жүгірткі1.Мән > 1000, «Нәтиже1», «Нәтиже2» ) Шарт жалған және DefaultResult көрсетілген және ол қайтарылған. "Result2"
If( Жүгірткі1.Мән = 25, "Нәтиже1", Жүгірткі1.Мән > 0, "Нәтиже2" ) Бірінші шарт — true және сәйкес нәтиже қайтарылды. Екінші шарт та true, бірақ ол есептелмейді, өйткені ол аргументтер тізімінде есептегенде true мәнін беретін шарттар кейінірек орналасқан. "Result1"
If( IsBlank( Slider1.Value ), "Result1", IsNumeric( Slider1.Value ), "Result2" ) Бірінші шарт — false, өйткені жүгірткі бос емес. Екінші шарт — true, өйткені жүгірткінің мәні — сан және сәйкес нәтиже қайтарылады. "Result2"
If( Жүгірткі1.Мән > 1000, «Нәтиже1», Жүгірткі1.Мән > 50, «Нәтиже2», «Нәтиже3») Бірінші және екінші шарттардың екеуі де false, DefaultResult көрсетілген және ол қайтарылады. "Result3"
Switch( Жүгірткі1.Мән, 25, «Нәтиже1» ) Жүгірткінің мәні тексерілетін бірінші мәнге сәйкес және сәйкес нәтиже қайтарылады. "Result1"
Switch( Жүгірткі1.Мән, 20, «Нәтиже1», 25, «Нәтиже2», 30, «Нәтиже3» ) Жүгірткінің мәні тексерілетін екінші мәнге сәйкес және сәйкес нәтиже қайтарылады. "Result2"
Switch( Жүгірткі1.Мән, 20, «Нәтиже1», 10, «Нәтиже2», 0, «Нәтиже3», «ӘдепкіНәтиже» ) Жүгірткінің мәні тексерілетін ешбір мәнге сәйкес емес. DefaultResult мәні көрсетілген, сондықтан ол қайтарылады. "DefaultResult"

Мінез-құлық формулаларындағы тармақтар

Бұл мысалдарда FirstName атты Text input басқару элементіне "Джон" деген ат терілген.

Формула Сипаттама Нәтиже
If( ! IsBlank( Аты-жөні.Мәтін ), навигация( Screen1, ScreenTransition.None ) ) Шарт — true, сондықтан Navigate функциясы орындалады. Міндетті пішін өрісі толтырылған-толтырылмағанын тексеру үшін IsBlank функциясын пайдалануға болады. If Аты-жөнібос болса да, бұл сөз мәні берілмейді. рас

Дисплей Screen1 экранына өзгереді.
If( IsBlank( Аты-жөні.Мәтін ), Navigate( Screen1, ScreenTransition.None ), Артқы жағы () ! операторынсыз шарт false болады, сондықтан Navigate функциясы орындалмайды. Back функциясы DefaultResult ретінде көрсетілген, сондықтан ол орындалады. рас

Дисплей алдында көрсетілген экранға оралады.
Switch( FirstName.Text, «Carlos», Navigate( Screen1, ScreenTransition.None ), «Kirstin», Navigate( Screen2, ScreenTransition.None ), «Джон», Navigate( Screen3, ScreenTransition.None ) ) FirstName.Text мәні "Карлос", "Кирстин" және "Джон" аттарымен осы ретпен салыстырылады. "Джон" атымен сәйкестік табылды, сондықтан бағдарлама Screen3 экранына өтеді. рас

Дисплей Screen3 экранына өзгереді.

Қадамдық

  1. Text input басқару элементін қосыңыз және әдепкі бойынша мұндай аты болмаса, оған Text1 атауын беріңіз.

  2. Text1 ішінде 30 деп теріңіз.

  3. Label басқару элементін қосыңыз да, оның Мәтін сипатын мына формулаға орнатыңыз:
    If( Value(Text1.Text) < 20, «MORE тапсырыс беріңіз!», Value(Text1.Text) < 40, «Көбірек тапсырыс беріңіз!», Text1.Text )

    Белгі басқару элементі Text1 мәні 20-дан көп бірақ 40-тан аз болғандықтан Order more! көрсетеді.

  4. Text1 ішінде 15 деп теріңіз.

    Белгі басқару элементі Text1 мәні 20-дан аз болғандықтан Order MANY! көрсетеді.

  5. Text1 ішінде 50 деп теріңіз.

    Белгі басқару элементі сіз терген мәнді көрсетеді, өйткені ол 40-тан көбірек.