Бөлісу құралы:


Microsoft Power Fx шолуы

Power Fx — бұл Microsoft Power Platform бағдарламасында қолданылатын төмен кодты тіл. Бұл жалпы мақсаттағы, қатты терілген, декларативті және функционалды бағдарламалау тілі.

Power Fx адамға ыңғайлы мәтінде көрсетілген. Бұл жасаушылар Excel бағдарламасына ұқсас формула жолағында немесе Visual Studio Code мәтіндік терезесінде тікелей жұмыс істей алатын төмен кодты тіл. Төмен кодтағы "төмен" тілдің қысқаша және қарапайым сипатына байланысты, жалпы бағдарламалау тапсырмаларын өндірушілерге де, әзірлеушілерге де жеңілдетеді. Ол ешқашан бағдарламалап көрмегендер үшін әртүрлі топтармен жұмыс істеп, уақыт пен шығынды үнемдеуге мүмкіндік бере отырып, олардың арасында ешқандай үйренусіз немесе қайта жазусыз "кодсыз" құралдардан бастап нағыз маманға арналған "кәсіби код" құралдарына дейін әзірлеудің толық спектрін қамтамасыз етеді.

Ескертпе

  • Microsoft Power Fx — бұл Power Apps қызметіндегі кенеп бағдарламаларына арналған формула тілінің жаңа атауы. Бұл шолумен және байланысты мақалалармен жұмыс әлі де жалғасуда, өйткені біз кенеп бағдарламаларынан тілді шығарамыз, оны басқа Microsoft Power Platform өнімдерімен біріктіреміз және оны ашық код ретінде қолжетімді етеміз. Қосымша ақпарат алу және тілді дәл қазір пайдалану үшін, Power Apps құжаттамасындағы Кенеп бағдарламаларындағы формулалармен бастау бөлімінен бастаңыз және тегін Power Apps сынақ нұсқасына тіркеліңіз.
  • Бұл мақалада біз бағдарламалау шеберлігінің спектрінің кез келген соңында қолданылуы мүмкін мүмкіндікті сипаттаған кезде жасаушыларға сілтеме жасаймыз. Егер функция неғұрлым жетілдірілген болса және әдеттегі Excel пайдаланушысының аясынан тыс болса, біз пайдаланушыны әзірлеуші деп атаймыз.

Power Fx нысандарды декларативті электрондық кестеге ұқсас формулалармен бірге байланыстырады. Мысалы, UI басқару элементінің Көрінетін сипатын мәнді басқа басқару элементтері сипаттарының негізінде есептейтін байланысты формуласы бар Excel жұмыс парағындағы ұяшық ретінде қарастырыңыз. Формула логикасы мәнді автоматты түрде қайта есептейді, бұл басқару элементінің көрінуіне әсер ететін электрондық кестенің жұмысына ұқсас.

Сондай-ақ Power Fx төмен кодты тілі міндетті логиканы қажет кезде ұсынады. Жұмыс парақтарында, әдетте, дерекқорға өзгертулер жібере алатын түймешіктер болмайды, бірақ бағдарламаларда көбінесе болады. Бірдей өрнек тілі декларативті және міндетті логиканың екеуіне де пайдаланылады.

Power Fx бастапқы коды ашық бағдарламалық құрал ретінде қолжетімді болады. Ол ағымдағы уақытта кенеп бағдарламаларымен біріктірілген және біз оны Power Apps бағдарламасынан шығарып алып, басқа Microsoft Power Platform өнімдерінде және ашық код ретінде пайдалану үшін дайындау процесіндеміз. Қосымша ақпарат: GitHub ішіндегі Microsoft Power Fx

Бұл мақалада тілге және оның құру қағидаларына шолу жасалады. Power Fx туралы қосымша ақпарат алу үшін, келесі мақалаларды қараңыз:

Электрондық кестені ойлау

Егер сіз Excel жұмыс парағын жасағандай бағдарламаны оңай құра алсаңыз ше?

Егер сіз өзіңіздің электронды кесте туралы біліміңізді пайдалана алсаңыз ше?

Бұлар Power Apps және Power Fx жасауға шабыттандырған сұрақтар болды. Күн сайын жүздеген миллион адам Excel бағдарламасымен жұмыс парағын жасайды; оларға бағдарламаны оңай және Excel бағдарламасының білетін тұжырымдамаларымен жасауды ұсынайық. Power Fx кодын Power Apps бағдарламасынан шығару арқылы біз автоматтандыруды немесе виртуалды агент немесе басқа домендер жасауға қатысты сұрақтарға жауап береміз.

Power Fx қоса алғанда барлық бағдарламалау тілдерінде өрнектер бар: сандар, жолдар немесе басқа деректер түрлері бойынша есептеуді ұсыну тәсілі. Мысалы, mass * acceleration өрнегі көптеген тілдерде mass және acceleration көбейту белгісін білдіреді. Өрнектің нәтижесін процедураға аргумент ретінде пайдаланылған айнымалыға орналастыруға немесе үлкенірек өрнекке кіріктіруге болады.

Power Fx төмен кодты тілі мұны бір қадам алға жылжытады. Өрнектің өзі есептейтін нәрсе туралы ештеңе айтпайды. Оны айнымалыға орналастыру немесе функцияға беру жасаушының қолында. Power Fx тілінде белгілі бір мағынасы жоқ өрнекті жазудың орнына, сіз өрнекті идентификатормен байланыстыратын формула жазасыз. Сіз force есептеу үшін формула ретінде force = mass * acceleration жазасыз. mass немесе acceleration өзгерген кезде force жаңа мәнге автоматты түрде жаңартылады. Өрнек есептеуді сипаттады, формула бұл есептеуге атау берді және оны рецепт ретінде қолданды. Сондықтан Power Fx төмен кодты тіліне формула тілі ретінде қараймыз.

Мысалы, бұл стектің толып кетуі формуласы жолды кері ретпен іздейді. Excel бағдарламасында ол келесі кескін сияқты болады.

Кері іздеу

Келесі формуласы бар Excel бағдарламасындағы формула жолағының скриншоты: =RIGHT(A1,LEN(A1)- FIND("|", SUBSTITUTE(A1," ","|", LEN(A1)-LEN(SUBSTITUTE(A1," ","")))) A1 ұяшығы "Сәлем, әлем! Танысқаныма қуаныштымын!" A2 ұяшығында "сіз!" мәтіні бар

Power Fx төмен кодты тілі басқару элементі сипатының сілтемелерімен ауыстырылған ұяшық сілтемелері бар бір формуламен жұмыс істейді.

Power Fx кері іздеу.

Power Apps бағдарламасындағы Power Fx формула жолағының скриншоты. Формула: =RIGHT(Input.Text,Len(Input.Text)- FIND("|", SUBSTITUTE(Input.Text," ","|", Len(Input.Text)-Len(Substitute(Input.Text," ","")))) Формула астындағы кіріс өрісінде "Сәлем, әлем! Танысқаныма қуаныштымын!" деген мәтін біртіндеп шығады. Сонымен қатар белгі терезесінде соңғы сөздің әріптері пайда болады. Толық мәтін кіріс өрісінде пайда болған кезде, белгі терезесінде "сіз!" деген сөз пайда болады.

Input басқару мәні өзгергендіктен, Label басқару элементі формуланы автоматты түрде есептеп, жаңа мәнді көрсетеді. Бұл жерде басқа тілдерде ортақ болуы мүмкін OnChange оқиғалар өңдегіштері жоқ.

Экранның Fill түсіне арналған формула пайдаланылатын тағы бір мысал. Қызыл, жасыл және көк түстерді басқаратын жүгіртпелер өзгерген кезде, фон түсі қайта есептелген кезде автоматты түрде өзгереді.

Түсті сырғытпа.

Бұл жерде басқа тілдерде ортақ болуы мүмкін жүгірткіні басқару элементтеріне арналған OnChange оқиғалары жоқ. Fill сипатының мәнін айқын орнатудың жолы жоқ. Егер түс күткендей жұмыс істемесе, неге жұмыс істемейтінін түсіну үшін мына бір формуланы қарауыңыз керек. Сипатты күтпеген уақытта орнататын код бөлігін табу үшін бағдарлама арқылы іздеудің қажеті жоқ; уақыт элементі жоқ. Дұрыс формула мәндері әрдайым сақталады.

Жүгірткілер қара түске орнатылғандықтан, өтеу үшін "Қызыл", "Жасыл" және "Көк" параметрлер ақ түске өзгереді. Бұл әр белгі басқару элементі үшін Color сипатындағы қарапайым формула арқылы орындалады.

Power Fx түсті сырғытпалар.

Мұның керемет жері — ол Fill түсі үшін болып жатқан оқиғалардан оқшауланған: бұл екі мүлдем басқа есептеу. Үлкен монолитті процедуралардың орнына Power Fx логикасы тәуелсіз көптеген кішігірім формулалардан тұрады. Бұл оларды түсінуді жеңілдетеді және бұрыннан бар логиканы бұзбай жақсартуға мүмкіндік береді.

Power Fx — Excel сияқты декларативті тіл. Өндіруші олардың қандай әрекетті қалайтындығын анықтайды, бірақ оны қалай және қашан орындау керектігін жүйеде анықтап, оңтайландыру керек. Мұны қолайлы ету үшін көптеген жұмыс Power Fx төмен кодты тілін (Excel сияқты) функциялық тілге айналдыра отырып, жанама әсерсіз таза функциялар арқылы орындалады.

Әрқашан тікелей

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

Дәл осы нәрсе Power Fx көмегімен жүзеге асырылады. Қосымша құрушы бағдарламаны жұмыс істеп тұрған деректермен үздіксіз синхрондау үшін қолданылады. Өзгерістер тәуелді есептеулердің нәтижелеріне әсер ететін бағдарламаның графигі арқылы автоматты түрде таралады, бұл түс немесе позиция сияқты басқару элементтерінде сипаттарды қозғауы мүмкін. Сондай-ақ қосымша құрастырушы IntelliSense функциясы, ұсыныстар, автоматты түрде аяқтау және түр тексеру арқылы формуланы өңдеудің бай тәжірибесін ұсынады.

Төмендегі анимацияда тапсырыс нөмірі жүгірткіні басқару элементіне байланысты оның астындағы белгілерде екі қате болса да белгіде көрсетіледі. Бағдарлама өте тікелей әрі интерактивті болып табылады. .InvalidName енгізу арқылы формуланы түзетудің бірінші әрекеті дереу қызыл сызық пен қате пайда болуына әкеледі, бірақ бағдарлама жұмыс істеуді жалғастырады.

Әрқашан өмір сүр.

.Employee енгізілген кезде, бұл Data панелінің қызметкерлер кестесін қосуға әкеледі, осы кесте үшін метадеректер алынады және бағандарға ұсыныстар бірден ұсынылады. Біз қатынасты бір кестеден екіншісіне жүріп өттік және жүйе бағдарламаның сілтемелеріне қажетті түзетулерді енгізді. .Customer қосқанда дәл осы әрекет орын алады.

Әр өзгерістен кейін жүгірткі өзінің соңғы мәнімен жалғастырады, кез келген айнымалылар өз мәнін сақтайды. Бүкіл уақыт бойы тапсырыс нөмірі керек жағдайдағыдай үстіңгі белгіде көрсетілуді жалғастырды. Бағдарлама нақты деректерді бүкіл уақытта өңдеп тікелей жұмыс істеді. Біз оны сақтап, кете беруімізге болады, ал басқалар оны Excel сияқты ашып, пайдалана алады. Құрастыру қадамы жоқ, құру жоқ, бағдарламаның қай нұсқасы пайдаланушыларға дайын екенін анықтау үшін тек жариялау қадамы бар.

Төмен кодты

Power Fx төмен кодты тілі бизнес логикасын қысқа, бірақ қуатты формулалармен сипаттайды. Көптеген логиканы күрделі қажеттіліктер үшін жеткілікті айқындылық пен басқару элементімен бір жолға келтіруге болады. Мақсаты — жасаушының түсінуі қажет тұжырымдар санын ең төменгі мәнге дейін азайту, ең дұрысы — Excel пайдаланушысы білгеннен көп емес.

Мысалы, тапсырыс үшін қызметкердің атын іздеу үшін Power Fx тілін келесі анимацияда көрсетілгендей етіп жазасыз. Excel тұжырымдамаларынан басқа, мұнда деректер құрылымын толық қарастыру үшін, бұл жағдайда .Employee.'First Name' үшін пайдаланылатын қосылған жалғыз тұжырымдама "." нүкте болып табылады. Анимация Power Fx формуласының бөліктері мен баламалы JavaScript нақты кодталуы қажет ұғымдар арасындағы салыстыруды көрсетеді.

төмен кодты JavaScript.

Power Fx төмен кодты тілінің біз үшін орындап жатқан барлық нәрселерін және формула декларативті болғандықтан оңтайландыру үшін ондағы бостандықты тереңірек қарастырайық.

  • Асинхронды: Power Fx ішіндегі барлық деректер операциялары асинхронды. Жасаушыға мұны көрсетудің қажеті жоқ, сондай-ақ қоңырау аяқталғаннан кейін жасаушыға операцияларды синхрондау қажет емес. Жасаушыға бұл тұжырымдама туралы мүлдем хабардар болудың қажеті жоқ, оларға уәде немесе лямбда функциясының не екенін білудің қажеті жоқ.

  • Жергілікті және қашықтағы: Power Fx жергілікті жадтағы деректер үшін бірдей синтаксис пен функцияларды пайдаланады және дерекқорды немесе қызметті қашықтан қосады. Пайдаланушыға бұл өзгешелік туралы ойлаудың қажеті жоқ. Power Fx төмен кодты тілі өз мүмкіндігін серверге сүзгілерді өңдеу мен сұрыптау әрекеттерін тиімдірек ету үшін береді.

  • Қатысты деректер: Тапсырыстар мен Тұтынушылар көп-бір қатынасы бар екі түрлі кесте. OData сұрауы SQL дерекқорындағы қосылымға ұқсас сыртқы кілт туралы білімі бар "$expand" түймешігін қажет етеді. Формулада бұлардың ешқайсысы жоқ; іс жүзінде дерекқордың кілттері жасаушыға білудің қажеті жоқ басқа тұжырымдама болып табылады. Жасаушы жазбадан қатынастардың бүкіл графигіне кіру үшін қарапайым нүктелі жазуды пайдалана алады.

  • Проекция: Сұрау жазған кезде көптеген әзірлеушілер деректердің барлық бағандарын қайтаратын select * from table жазады. Power Fx төмен кодты тілі бүкіл бағдарлама, тіпті формула тәуелділіктері арқылы пайдаланылатын барлық бағандарды талдайды. Болжам автоматты түрде оңтайландырылады және тағы да өндірушіге "болжам" дегенді білудің қажеті жоқ.

  • Тек қажет нәрсені шығарып алу: Бұл мысалда LookUp функция тек бір жазбаны шығарып алу керектігін және қайтарылатынның барлығын білдіреді. Егер Filter функциясын пайдалану арқылы бірнеше жазба сұралсажәне ол үшін мыңдаған жазбалар талап етілуі мүмкінонда бір бет үшін 100 жазба ретімен бір уақытта деректерді тек бір беті ғана қайтарылады. Қосымша деректерді көру үшін пайдаланушы галерея немесе деректер кестесі арқылы қимыл жасауы керек және ол автоматты түрде олар үшін әкелінеді. Өндіруші деректер сұрауларын басқарылатын бөліктермен шектеу туралы ойланбай-ақ, деректердің үлкен жиынтығы туралы ойлануы мүмкін.

  • Қажет болғанда ғана іске қосылады: Біз белгіні басқару элементінің Text сипаты үшін формуланы анықтадық. Таңдалған айнымалы өзгерген кезде, LookUp сипаты автоматты түрде қайта есептеліп, белгі жаңартылады. Өндірушіге таңдау үшін OnChange өңдегішін жазудың қажеті жоқ және бұл белгі оған тәуелді екенін есте сақтаудың қажеті жоқ. Бұрын талқыланғандай бұл декларативті бағдарламалау болып табылады: жасаушы оны қалай және қашан алу керектігін емес, белгіде қажетті нәрсені көрсетті. Егер бұл белгі көрінбейтін экранда болғандықтан көрінбейтін болса немесе оның Visible сипаты жалған болса, біз бұл есептеуді белгі көрінгенге дейін қалдыра аламыз және егер бұл сирек болса, оны тиімді түрде жоя аламыз.

  • Excel синтаксисінің аудармасы: Excel бағдарламасын көптеген пайдаланушылар пайдаланады, олардың көпшілігі амперсанд (&) жолды біріктіру үшін пайдаланылатынын біледі. JavaScript қосу белгісін қолданады (+) және басқа тілдерде нүкте қолданылады (.).

  • Көрсетілетін атаулар және локализация: First Name Power Fx формулада, ал nwind_firstname JavaScript баламасында пайдаланылады. Microsoft Dataverse және SharePoint бағдарламаларында бірегей логикалық аттан басқа бағандар мен кестелер үшін көрсетілетін атау болады. Көрсетілетін атаулар бұл жағдайда сияқты көбінесе пайдаланушыларға ыңғайлы, бірақ олардың тағы бір маңызды қасиеті бар, яғни оларды локализациялауға болады. Егер сізде көп тілді топ болса, топтың әрбір мүшесі кесте мен өріс атауларын өз тілінде көре алады. Барлық пайдалану жағдайларында Power Fx дерекқорға дұрыс логикалық атаудың автоматты түрде жіберілуіне көз жеткізеді.

Кодсыз

Логиканы көрсетуді бастау үшін Power Fx тілін оқып не жазудың қажеті жоқ. Қарапайым ауыстырулар мен пайдаланушы интерфейсінің құрушысы арқылы өрнектеуге болатын көптеген реттеулер мен логика бар. Бұл кодсыз құралдар Power Fx тілін оқуға және жазуға арналған, сонымен бірге кодтық құралдар ешқашан толық тілдің мәнерлілігін ұсына алмайтындығын ескере отырып, біреудің одан әрі қарай алға жылжуы үшін көптеген мүмкіндіктер бар екендігін қамтамасыз етеді. Кодсыз жасаушылармен бірге қолданғанның өзінде Power Fx тілін үйренуге кірісу үшін өндірушіге олардың атынан не істелетіні туралы білім беру үшін формула жолағы Power Apps бағдарламасында алдыңғы қатарда болады.

Бірнеше мысалды қарастырайық. Power Apps бағдарламасында сипат тақтасында басқару элементтерінің сипаттары үшін "кодсыз" ауыстыру құралдары мен тұтқалары ұсынылады. Іс жүзінде көптеген сипат мәндері тұрақты болып табылады. Gallery фондық түсін өзгерту үшін түс құрастырғышты пайдалануға болады. Формула жолағының формуланы басқа RGBA қоңырауына жаңарту арқылы осы өзгерісті көрсететініне назар аударыңыз. Кез келген уақытта формула жолағына өтіп, одан әрі қарай қадам жасай аласыз — осы мысалда түсті реттеу үшін ColorFade сипатын пайдалану арқылы. Түс сипаты сипаттар панелінде әлі де пайда болады, бірақ меңзерді апарған кезде fx белгішесі пайда болады және сіз формула жолағына өтесіз. Бұл толығымен екі жолмен жұмыс істейді: ColorFade қоңырауын жою түсті сипат панелі түсінетін нәрсеге қайтарады және оны қайтадан түсті орнату үшін пайдалануға болады.

Кодсыз түс.

Осы жерде күрделірек мысал бар. Галерея қызметкерлердің тізімін Dataverse бағдарламасынан көрсетеді. Dataverse бағдарламасы кесте деректерінің көріністерін береді. Біз осы көріністердің бірін таңдай аламыз және формула Filter функциясын осы көрініс атауымен пайдаланатындай өзгереді. Екі ашылмалы мәзірді формула жолағына тиместен дұрыс кестені және көріністі теру үшін пайдалануға болады. Сіз одан әрі қарай жүріп, сұрыптау қосқыңыз келеді дейік. Мұны формула жолағында жасай аламыз және сипат тақтасында fx белгішесі қайтадан көрсетіліп, өзгерістерді формула жолағына бағыттайды. Және қайтадан формуланы сипат тақтасы оқып, жаза алатындай бірнәрсеге жеңілдетсек, оны қайтадан пайдалануға болады.

Кодсыз сұрыптау.

Бұлар қарапайым мысалдар болды. Power Fx төмен кодты тілі кодсыз өзара әрекеттестіктерді сипаттауға арналған тамаша тіл жасайтынына сенеміз. Ол талдау үшін қысқа, қуатты әр оңай және "үзілусіз" құралынан төмен кодқа дейін жиі қажет болатын орынды қамтамасыз етеді.

Кәсіби код

Төмен кодты жасаушылар кейде сарапшының көмегін қажет ететін немесе оны жетілдіру және жақсарту үшін кәсіби әзірлеуші қабылдайтын элементтерді жасайды. Сондай-ақ кәсіби мамандар төмен кодты әзірлеу кәсіби құралды құрастыруға қарағанда оңай, жылдам әрі шығыны аз болады деп бағалайды. Кез келген жағдайға Visual Studio бағдарламасының толық мүмкіндігі қажет емес.

Кәсіби мамандар ең өнімді кәсіби құралдарды пайдаланғысы келеді. Power Fx формулаларын YAML бастапқы файлдарында сақтауға болады, оны Visual Studio Code, Visual Studio немесе кез келген басқа мәтін өңдегішімен оңай өңдеуге болады және ол Power Fx тілін GitHub, Azure DevOps немесе кез келген басқа бастапқы кодты басқару жүйесінің көмегімен бастапқы басқару элементіне қоюға мүмкіндік береді.

Pro коды Visual Studio Код.

GitHub прокоды.

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

Сонымен қатар Power Fx төмен кодты тілі құрамдастармен және кәсіби мамандар құрастырған қызметтермен біріктіруге тамаша әдіс болып табылады. Кірістірілген қосқыштар жүздеген деректер көздеріне және веб-қызметтерге қатынасу рұқсатын қамтамасыз етеді, реттелмелі коннекторлар Power Fx формуласына кез келген REST веб-қызметтерімен сөйлесуге, ал код құрамдастары Power Fx формуласына экрандағы және беттегі толық реттелетін JavaScript баламасымен өзара әрекеттесуіне мүмкіндік береді.

Құру қағидалары

Қарапайым

Power Fx мүшелері әзірлеуші ретінде оқытылмаған жасаушы аудиториясына бағытталған. Осы аудитория білуі мүмкін немесе жылдам ала алатын білімді барынша пайдаланамыз. Сәтті болуға қажетті тұжырымдамалар саны минималды деңгейге дейін сақталады.

Қарапайым болу әзірлеушілер үшін де жақсы. Әзірлеушілер аудиториясы үшін шешім құруға қажетті уақытты қысқартатын төмен кодты тілді мақсат етеміз.

Excel сәйкестігі

Microsoft Power Fx тілі көп нәрсені Excel формуласы тілінен алады. Біз Excel бағдарламасын қолданатын көптеген өндірушілердің Excel білімі мен тәжірибесін пайдалануға тырысамыз. Түрлер, амалдағыштар мен функция семантикасы Excel бағдарламасына барынша жақын.

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

Декларативті

Жасаушы олардың логикасының не жасағанын қалайтындығын сипаттайды, бірақ оны қалай немесе қашан жасау керектігін нақты айтпайды. Бұл құрастырушыға параллель операцияларды орындау, жұмысты қажет болғанша кейінге қалдыру және кэштелген деректерді алдын ала алу және қайта пайдалану арқылы оңтайландыруға мүмкіндік береді.

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

Функциялық

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

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

Құрама

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

Мысалы, Галерея басқару элементінде бөлек Sort және Filter сипаттары жоқ. Орнына Sort және Filter функциялары жалғыз Items сипатымен бірге бірігеді. Sort және Filter әрекетін көрсететін UI элементі осы сипатқа арналған екі жақты өңдегіштің көмегімен Items сипатының жоғарғы жағында қабаттасқан.

Толық терілген

Барлық мәндердің түрлері құрастыру уақытында белгілі. Бұл әзірлеу кезінде қателіктерді және пішімделген ұсыныстарды ертерек анықтауға мүмкіндік береді.

Полиморфты түрлерге қолдау көрсетіледі, бірақ оларды қолданар алдында олардың түрін статикалық түрге бекіту керек және бұл түр құрастыру кезінде белгілі болуы керек. IsType және AsType функциялары сынау және түрлендіру түрлері үшін беріледі.

Түр артықшылығы

Түрлер мәлімделмей оларды пайдаланудан алынады. Мысалы, айнымалыны санға орнату айнымалының сан ретінде орнатылуына әкеледі.

Қайшы келетін түрді пайдалану құрастыру уақытының қатесіне әкеледі.

Орналасуымен байланысты ондық бөлгіштер

Әлемнің кейбір аймақтарында ондық бөлгіш ретінде нүкте қолданылады (.) , ал басқалары үтірді (,) қолданады. Excel бағдарламасы да осылай жасайды. Бүкіл әлемдегі пайдаланушылар үшін ондық бөлгіш ретінде әдетте канондық нүктені (.) қолданатын басқа бағдарламалау тілдерінде әдетте бұл жасалмайды. Барлық деңгейдегі өндірушілер үшін мүмкіндігінше қолжетімді болуы үшін, 3,14 синтаксисін өмір бойы қолданған Франциядағы адам үшін осы санның ондық сан болуы маңызды.

Ондық бөлгішті таңдау әрекеті шақыру аргументтері мен тізбек операторына пайдаланылатын тізім бөлгішіне каскадты әсер етеді.

Автор тіліндегі ондық бөлгіш Power Fx ондық бөлгіші Power Fx тізім бөлгіші Power Fx тізбек операторы
. (нүкте) . (нүкте) , (үтір) ; (нүктелі үтір)
, (үтір) , (үтір) ; (нүктелі үтір) ;; (қос нүктелі үтір)

Қосымша ақпарат: Глобалдық қолдау

Нысанға бағытталмаған

Excel бағдарламасы Power Fx тілі сияқты нысанға бағытталмаған. Мысалы, кейбір тілдерде жолдың ұзындығы JavaScript бағдарламасындағы "Hello World".length сияқты жолдың сипаты ретінде көрсетіледі. Excel және Power Fx бағдарламалары мұның орнына функцияны Len( "Hello World" ) ретінде өрнектейді.

Сипаттары мен әдістері бар құрамдастар нысанға бағытталған және Power Fx төмен кодты тілі олармен оңай жұмыс істейді. Бірақ мүмкін болатын жерде функциялық тәсілді қалаймыз.

Кеңейтілетін

Жасаушылар Power Fx қызметін қолдану арқылы өздерінің құрамдастары мен функцияларын жасай алады. Әзірлеушілер өз құрамдастары мен функцияларын JavaScript сценарийін жазу арқылы жасай алады.

Әзірлеушіге ыңғайлы

Жасаушылар біздің басты мақсатымыз болып табылатынына қарамастан әзірлеушілерге ыңғайлы болу үшін мүмкін болатын жерде әрекет етеміз. Егер бұл бұрын сипатталған жобалау қағидаларына қайшы келмесе, біз оны әзірлеуші бағалайтындай етіп жасаймыз. Мысалы, Excel бағдарламасында түсініктемелерді қосу мүмкіндігі жоқ, сондықтан біз C тәрізді жолды және кірістірілген түсініктемелерді қолданамыз.

Тіл эволюциясы

Бағдарламалау тілдерін дамыту қажет әрі қиын. Барлығы дерлік өзгерту қаншалықты жақсы ниетпен болса да, қолданыстағы кодты бұзып және пайдаланушылардан жаңа үлгіні үйренуін талап етуі мүмкін деп алаңдайды. Power Fx қызметі кері үйлесімділікке байыпты қарайды, бірақ біз оны бірінші реттен әрқашан дұрыс жасамайтындығымызға және қауымдастық ретінде ең жақсысын бірлесе білетінімізге сенімдіміз. Біз дамуымыз керек және Power Fx төмен кодты тілі басынан бастап тілді дамытуын қолдауға арналған.

Тілдік нұсқадағы мөр барлық сақталған Power Fx құжаттарымен бірге беріледі. Егер біз сәйкес келмейтін өзгеріс жасағымыз келсе, формуланы келесі рет өңдегенде автоматты түрде қайта жазатын "кері үйлесімді түрлендіргіш" дегенді жазамыз. Егер өзгеріс пайдаланушыға үйрету керек үлкен нәрсе болса, біз сонымен бірге құжаттарға сілтеме бар хабар көрсетеміз. Осы мүмкіндікті пайдаланып, көптеген жылдар бұрын Power Apps бағдарламасының алдын ала қарау нұсқаларымен жасалған бағдарламаларды содан бері болған барлық өзгерістерге қарамастан жүктей аламыз.

Мысалы, қызыл фоны бар қате баннерді көрсету үшін ShowError функциясын таныстырдық.

Қатені көрсету.

Пайдаланушыларға ұнады, бірақ олар да бізден сәттілік баннерін (жасыл фон) немесе ақпараттық баннерді (көк фон) көрсету жолы туралы сұрады. Сонымен, біз хабарландыру түрі үшін екінші аргумент алатын жалпылама Notify функциясын ойлап таптық. Біз жәй ғана Notify функциясын қосып, ShowError функциясын сол күйінде қалдыруымызға болар еді, бірақ оның орнына біз ShowError функциясын Notify функциясымен ауыстырдық. Бұрын өндірісте болған функцияны алып тастап, оны басқасымен алмастырдық. Бір нәрсені жасаудың екі әдісі болатындықтан, бұл әсіресе жаңа пайдаланушылар үшін түсініксіздікті тудырар еді және ең бастысы бұл күрделілік қосар еді. Ешкім шағымданбады, барлығы өзгерісті бағалады, содан кейін өздерінің жаңа "Хабарландыру" мүмкіндігіне көшті.

Сол бағдарлама Power Apps бағдарламасының ең соңғы нұсқасын жүктеген кездегідей көрінеді. Бұл трансформацияны жүзеге асыру үшін пайдаланушыдан ешқандай әрекет талап етілмеді, ол бағдарлама ашылған кезде автоматты түрде орын алды.

Хабарландыру функциясы ShowError функциясын ауыстырады.

Осы мүмкіндіктің көмегімен Power Fx қызметі басқа бағдарламалау тілдерінің көпшілігіне қарағанда тезірек және жылдам дами алады.

Анықталмаған мән жоқ

JavaScript сияқты кейбір тілдерде баптандырылмаған айнымалы немесе жоғалған сипаттар үшін анықталмаған мән ұғымы қолданылады. Қарапайымдылық үшін біз бұл тұжырымдамадан аулақ болдық. Басқа тілдерде анықталмаған даналар қате немесе бос мән ретінде қарастырылады. Мысалы, барлық баптандыруды болдырмаған айнымалылар бос мәннен басталады. Барлық деректер түрлері бос мәнді қабылдай алады.

Деректер түрлері
Операторлар мен идентификаторлар
Кестелер
Айнымалылар
Императивті логика
Жаһандық қолдау
Экспрессияның грамматикасы
YAML формуласының грамматикасы
Кенеп қолданбаларындағы формулалар