If және Switch функциялары
Қолданылады: Canvas қолданбалары
Dataverse формула бағандары
Жұмыс үстелі ағындары
Үлгіге негізделген қолданбалар
Power Pages
Power Platform CLI
Жиындағы кез келген шарт шын екенін (If) немесе формуланың нәтижесі жиындағы кез келген мәнге сәйкес келетінін (Switch) анықтайды, содан кейін нәтижені қайтарады немесе әрекетті орындайды.
Сипаттама
If функциясы true нәтижесі табылғанша бір немесе бірнеше шартты тексереді. Мұндай нәтиже табылса, сәйкес мән қайтарылады. Мұндай нәтиже табылмаса, әдепкі мән қайтарылады. Жағдайлардың кез келгенінде, қайтарылған мән көрсететін жол, есептейтін формула немесе нәтиженің басқа түрі болуы керек.
Switch функциясы формуланы есептейді және нәтиже сіз көрсеткен реттіліктегі кез келген мәнге сәйкес пе, соны анықтайды. Сәйкестік табылса, сәйкес мән қайтарылады. Сәйкестік табылмаса, әдепкі мән қайтарылады. Жағдайлардың кез келгенінде, қайтарылған мән көрсететін жол, есептейтін формула немесе нәтиженің басқа түрі болуы керек.
Егер және Ауыспалы өте ұқсас болса, бірақ жағдайыңыз үшін ең жақсы функцияны пайдалануыңыз керек:
- If функциясын бір шартты есептеу үшін пайдаланыңыз. Бұл функцияның ең көп тараған синтаксисі Егер( Шарт, Содан кейін, DefaultResult ), ол жалпы "егер … then … else…» үлгісі басқа бағдарламалау құралдарында көрінеді.
- If функциясын бірнеше қатысты емес шартты есептеу үшін пайдаланыңыз. Power Apps ішінде (Microsoft Excel бағдарламасынан ерекшелігі) If формулаларын кірістірусіз бірнеше шартты көрсетуге болады.
- Switch функциясын бір шартты бірнеше қатысты сәйкестікке қатысты есептеу үшін пайдаланыңыз. Сондай-ақ бұл жағдайда If функциясын пайдалануға болады, бірақ әрбір мүмкін сәйкестік үшін осы формуланы қайталау керек болады.
Екі немесе бірнеше әрекет арасында тармақ жасау үшін мінез-құлық формулаларында осы функциялардың екеуін де пайдалануға болады. Бір тармақ қана әрекетті бастайды. Шарттар мен сәйкестіктер ретпен есептеледі және шарт true болса немесе сәйкестік табылса тоқтайды.
Ешбір шарттар шын болмаса, сәйкестіктер табылмаса және әдепкі нәтиже көрсетілмесе, босқайтарылады.
Синтаксис
Егер( Шарт, СондаНәтиже [, Әдепкі нәтиже ])
Егер( 1-шарт, ОндаНәтиже1 [, 2-шарт , Содан кейін2, ... [, Әдепкі нәтиже ] ] )
- Шарттар - Міндетті. true мәнін беретін-бермейтінін тексеретін формула(лар). Мұндай формулалар әдетте операторларды (мысалы, <, > және =) және IsBlank және IsEmpty сияқты тексеру функцияларын қамтиды.
- Содан кейін нәтижелер - Міндетті. Есептегенде true мәнін беретін шарт үішн қайтарылатын сәйкес мән.
- DefaultResult - Қосымша. Ешбір шарт есептегенде true мәнін бермесе қайтаратын мән. Бұл аргументті көрсетпесеңіз, бос мән қайтарылады.
Ауыстыру( Формула, Сәйкестік1, Нәтиже1 [, Сәйкестік2, Нәтиже2, ... [, Әдепкі нәтиже ] ] )
- Формула - Міндетті. Сәйкестіктер бар-жоғы есептелетін формула. Бұл формула тек бір рет есептеледі.
- Сәйкестіктер - Міндетті. Формула берген нәтижемен салыстыратын мәндер. Дәл сәйкестік табылса, сәйкес Нәтиже қайтарылады.
- Нәтижелер - Міндетті. Дәл сәйкестік табылғанда қайтаратын сәйкес мән.
- DefaultResult - Қосымша. Дәл сәйкестік табылмаса, осы мән қайтарылады. Бұл аргументті көрсетпесеңіз, бос мән қайтарылады.
Мысалдар
Формулалардағы мәндер
Келесі мысалда Жүгірткі басқару элементінің (Slider1 деп аталады) 25 мәні бар.
Формула | Сипаттама | Нәтиже |
---|---|---|
If( Slider1.Value = 25, "Нәтиже1" ) | Шарт — true және сәйкес нәтиже қайтарылды. | "Result1" |
If( Slider1.Value = 25, "Нәтиже1", "Нәтиже2" ) | Шарт — true және сәйкес нәтиже қайтарылды. | "Result1" |
If( Slider1.Value > 1000, "Нәтиже1" ) | Шарт жалған және DefaultResult көрсетілмеген. | бос |
If( Slider1.Value > 1000, "Нәтиже1", "Нәтиже2" ) | Шарт жалған және DefaultResult көрсетілген және ол қайтарылған. | "Result2" |
Егер( Slider1.Value = 25, "Нәтиже1", Slider1.Value > 0, "Нәтиже2" ) | Бірінші шарт — true және сәйкес нәтиже қайтарылды. Екінші шарт та true, бірақ ол есептелмейді, өйткені ол аргументтер тізімінде есептегенде true мәнін беретін шарттар кейінірек орналасқан. | "Result1" |
If( IsBlank( Slider1.Value ), "Нәтиже1", IsNumeric( Slider1.Value ), "Нәтиже2" ) | Бірінші шарт — false, өйткені жүгірткі бос емес. Екінші шарт — true, өйткені жүгірткінің мәні — сан және сәйкес нәтиже қайтарылады. | "Result2" |
Егер(Слайдер1.Мәні > 1000, "Нәтиже1", Жүгірткі1.Мәні > 50, "Нәтиже2", "Нәтиже3") | Бірінші және екінші шарттардың екеуі де false, DefaultResult көрсетілген және ол қайтарылады. | "Result3" |
Ауыстыру(1-жүргідегі мән, 25, "Нәтиже1" ) | Жүгірткінің мәні тексерілетін бірінші мәнге сәйкес және сәйкес нәтиже қайтарылады. | "Result1" |
Ауыстыру( Slider1.Мән, 20, "Нәтиже1", 25, "Нәтиже2", 30, "Нәтиже3" ) | Жүгірткінің мәні тексерілетін екінші мәнге сәйкес және сәйкес нәтиже қайтарылады. | "Result2" |
Ауыстыру( Slider1.Value, 20, "Нәтиже1", 10, "Нәтиже2", 0, "Нәтиже3", "Әдепкі нәтиже" ) | Жүгірткінің мәні тексерілетін ешбір мәнге сәйкес емес. DefaultResult мәні көрсетілген, сондықтан ол қайтарылады. | "DefaultResult" |
Мінез-құлық формулаларындағы тармақтар
Бұл мысалдарда FirstName атты Text input басқару элементіне "Джон" деген ат терілген.
Формула | Сипаттама | Нәтиже |
---|---|---|
If( ! IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ) ) | Шарт — true, сондықтан Navigate функциясы орындалады. Міндетті пішін өрісі толтырылған-толтырылмағанын тексеру үшін IsBlank функциясын пайдалануға болады. FirstNameblank болса, бұл формуланың әсері болмайтын еді. |
рас Дисплей Screen1 экранына өзгереді. |
If( IsBlank( FirstName.Text ), Navigate( Screen1, ScreenTransition.None ), Back() ) | ! операторынсыз шарт false болады, сондықтан Navigate функциясы орындалмайды. Back функциясы DefaultResult ретінде көрсетілген, сондықтан ол орындалады. |
рас Дисплей алдында көрсетілген экранға оралады. |
Switch( FirstName.Text, "Карлос", Navigate( Screen1, ScreenTransition.None ), "Kirstin", Navigate( Screen2, ScreenTransition.None ), "John", Navigate( Screen3, ScreenTransition.None ) ) | FirstName.Text мәні "Карлос", "Кирстин" және "Джон" аттарымен осы ретпен салыстырылады. "Джон" атымен сәйкестік табылды, сондықтан бағдарлама Screen3 экранына өтеді. |
рас Дисплей Screen3 экранына өзгереді. |
Қадамдық
Text input басқару элементін қосыңыз және әдепкі бойынша мұндай аты болмаса, оған Text1 атауын беріңіз.
Text1 ішінде 30 деп теріңіз.
Label басқару элементін қосыңыз да, оның Мәтін сипатын мына формулаға орнатыңыз:
If( Value(Text1.Text) < 20, "Тапсырыс тағы КӨП!", Value(Text1.Text) < 40, "Көбірек тапсырыс беріңіз!", Text1.Text )Белгі басқару элементі Text1 мәні 20-дан көп бірақ 40-тан аз болғандықтан Order more! көрсетеді.
Text1 ішінде 15 деп теріңіз.
Белгі басқару элементі Text1 мәні 20-дан аз болғандықтан Order MANY! көрсетеді.
Text1 ішінде 50 деп теріңіз.
Белгі басқару элементі сіз терген мәнді көрсетеді, өйткені ол 40-тан көбірек.