Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Power Fx és el llenguatge de baix codi que utilitza Microsoft Power Platform. És un llenguatge de programació d'ús general, fortament tipus, declaratiu i funcional.
El Power Fx s'expressa amb text fàcil d'entendre. És un llenguatge de codi reduït amb què els responsables poden treballar directament en una barra de fórmules semblant a la de l'Excel o una finestra de text amb el Visual Studio Code. El "low" en low-code prové de la naturalesa concisa i senzilla del llenguatge, que facilita les tasques habituals de programació tant per a creadors com per a desenvolupadors. Permet tot l'espectre de desenvolupament, des del no-code per a aquells que mai no han programat abans fins al "pro-code" per als professionals experimentats, sense aprenentatge ni reescriptura de penya-segats entremig. Els equips diversos poden col·laborar i estalviar temps i despeses.
Nota
- Microsoft Power Fx és el nom nou del llenguatge de formules de les aplicacions de llenç al Power Apps. Aquesta visió general i els articles associats són un treball en curs mentre Microsoft extreu el llenguatge de les aplicacions canvas, l'integra amb altres productes de Microsoft Power Platform i el posa a disposició com a open source. Per obtenir més informació i provar el llenguatge avui, comenceu amb Introducció a les fórmules de les aplicacions de llenç d la documentació del Power Apps i inicieu la sessió per obtenir una versió de prova gratuïta del Power Apps.
- En aquest article, makers fa referència als usuaris que podrien utilitzar una funció en qualsevol extrem de l'espectre d'habilitats de programació. Els desenvolupadors es refereixen als usuaris quan la funcionalitat és més avançada i probablement està fora de l'abast d'un usuari típic d'Excel.
El Power Fx vincula objectes amb fórmules declaratives semblants a les d'un full de càlcul. Per exemple, penseu en la propietat Visible d'un control d'IU com una cel·la en un full de càlcul de l'Excel, amb una fórmula associada que en calcula el valor segons les propietats d'altres controls. La lògica de fórmules torna a calcular el valor automàticament, de manera semblant a la manera com fa un full de càlcul, la qual cosa afecta la visibilitat del control.
Alhora, el Power Fx ofereix lògica imperativa quan cal. Els fulls de càlcul no solen tenir botons que poden enviar canvis a una base de dades, però les aplicacions sovint sí. El mateix llenguatge d'expressió s'utilitza per a la lògica declarativa i imperativa.
Microsoft farà que Power Fx estigui disponible com a programari de codi obert. Actualment està integrat en aplicacions canvas, i Microsoft està en procés d'extreure'l de Power Apps per utilitzar-lo en altres productes de Microsoft Power Platform i com a open source. Més informació: Microsoft Power Fx a GitHub
En aquest article es proporciona informació general sobre el llenguatge i els seus principis de disseny. Per obtenir més informació sobre el Power Fx, vegeu els articles següents:
- Tipus de dades
- Operadors i identificadors
- Taules
- Variables
- Lògica imperativa
- Suport global
- Gramàtica de l'expressió
- Gramàtica de la fórmula YAML
Penseu en un full de càlcul
I si poguéssiu crear una aplicació amb la mateixa facilitat que creeu un full de càlcul a l'Excel?
I si poguéssiu aprofitar els coneixements existents en fulls de càlcul?
Aquestes preguntes van inspirar la creació de Power Apps i Power Fx. Centenars de milions de persones creen fulls de treball amb Excel cada dia. Portem-los una creació d'aplicacions que sigui fàcil i utilitzi conceptes d'Excel que ja coneixen. Si separem el Power Fx del Power Apps, respondrem a aquestes preguntes per crear automatització o un agent virtual o altres dominis.
Tots els llenguatges de programació, incloent-hi Power Fx, tenen expressions: una manera de representar un càlcul sobre números, cadenes de caràcters o altres tipus de dades. Per exemple, mass * acceleration expressa en la majoria de llengües la multiplicació de mass i acceleration. Pots posar el resultat d'una expressió en una variable, utilitzar-lo com a argument d'un procediment, o encaixar-lo en una expressió més gran.
El Power Fx va un pas més enllà. Una expressió sola no diu res del que es calcula. Depèn del creador col·locar-la en una variable o passar-la a una funció. Al Power Fx, en lloc d'escriure una expressió que no tingui cap sentit específic, escriviu una fórmula que vincula l'expressió amb un identificador. Escriviu force = mass * acceleration com a fórmula per calcular force. A mesura que o acceleration canvia, force s'actualitza mass automàticament a un nou valor. L'expressió descriu un càlcul, una fórmula ha donat al càlcul un nom i l'utilitza com a recepta. Per això, ens referim al Power Fx com un llenguatge de fórmules.
Per exemple, aquesta fórmula de Sobreeiximent de pila cerca una cadena en ordre invers. A l'Excel, s'assembla a la imatge següent.
Captura de pantalla d'una barra de fórmules a l'Excel amb la fórmula: =RIGHT(A1,LEN(A1)- FIND("|", SUBSTITUTE(A1," ","|", LEN(A1)-LEN(SUBSTITUTE(A1," ","")))) La cel·la A1 conté el text "Hello, World! És un plaer conèixer-vos." La cel·la A2 conté el text "vos"
El Power Fx treballa amb aquesta mateixa fórmula, amb les referències de cel·la substituïdes per referències de propietat de control:
Captura de pantalla d'una barra de fórmules del Power Fx al Power Apps. La fórmula és =RIGHT(Input.Text,Len(Input.Text)- FIND("|", SUBSTITUTE(Input.Text," ","|", Len(Input.Text)-Len(Substitute(Input.Text," ","")))) Al quadre d'entrada de sota la fórmula, el text "Hello, World! És un plaer conèixer-vos", apareix lletra per lletra. Al mateix temps, al quadre Etiqueta, apareixen les lletres de l'última paraula. Quan apareix el text complet al quadre d'entrada, la paraula "vos" apareix al quadre d'etiqueta.
A mesura que el valor del Input control canvia, el Label control recalcula automàticament la fórmula i mostra el nou valor. Aquí no hi ha cap controlador d'incidències OnChange com seria habitual en altres llenguatges.
Un altre exemple utilitza una fórmula per al Fill color de la pantalla. A mesura que els controls que controlen el vermell, verd i blau canvien, el color de fons canvia automàticament mentre es recalcula.
No hi ha incidències OnChange per als controls lliscants com seria habitual en altres llenguatges. No hi ha manera d'establir explícitament el valor Fill de la propietat. Si el color no està funcionant com està previst, heu de veure aquesta fórmula per entendre per què no funciona. No heu de cercar per l'aplicació per trobar un fragment de codi que defineixi la propietat en un moment inesperat; no hi ha cap element d'hora. Els valors de fórmula correctes sempre es mantenen.
Quan els controls lliscants es defineixen en un color gris, les etiquetes de Vermell, Verd i Blau canvien a blanc per compensar. Aquest canvi es produeix mitjançant una fórmula senzilla a la Color propietat per a cada control d'etiqueta.
El millor d'aquesta fórmula és que està aïllada del que passa pel Fill color: són dos càlculs completament diferents. En lloc de grans procediments monolítics, la lògica del Power Fx sol estar formada per moltes fórmules més petites que són independents. Aquesta estructura els fa més fàcils d'entendre i permet millores sense alterar la lògica existent.
El Power Fx és un llenguatge declaratiu, igual que l'Excel. El creador defineix el comportament que vol, però és cosa del sistema determinar i optimitzar com i quan aconseguir-ho. Per fer que això sigui pràctic, la majoria de la feina es fa amb funcions pures sense efectes secundaris, cosa que fa que el Power Fx també sigui un llenguatge funcional, igual que l'Excel.
Sempre en viu
Un aspecte que defineix els fulls de càlcul és que sempre estan actius i els canvis es reflecteixen instantàniament. No hi ha mode compilació ni execució en una fitxa de treball. Quan modifiques una fórmula o introdueixes un valor, la fulla de càlcul es recalcula immediatament per reflectir els canvis. Qualsevol error detectat apareix immediatament i no interfereix amb la resta de la fulla de càlcul.
Power Fx implementa el mateix. Utilitza un compilador incremental per mantenir el programa sincronitzat contínuament amb les dades sobre les quals opera. Els canvis es propaguen automàticament pel gràfic del programa, afectant els resultats dels càlculs dependents. Aquests càlculs podrien determinar propietats dels controls com el color o la posició. El compilador incremental també proporciona una experiència enriquida d'edició de fórmules amb IntelliSense, suggeriments, autocompletar i comprovació del tipus.
A l'animació següent, el número de comanda es mostra en un control d'etiqueta dependent del control lliscant, tot i que hi ha dos errors a les etiquetes que hi ha a sota. L'aplicació és molt viva i interactiva. El primer intent de corregir la fórmula introduint .InvalidName resulta en una línia vermella immediata i la visualització d'un error, com hauria de ser, però l'aplicació es continua executant.
Quan introdueixes .Employee, el Data panell afegeix la taula Employees, recupera les metadades d'aquesta taula i immediatament ofereix suggeriments per a columnes. Simplement caminaves d'una taula a una altra, i el sistema feia els ajustos necessaris a les referències de l'aplicació. El mateix passa quan s'afegeix un .Customer.
Després de cada canvi, el control lliscant continua amb el seu últim valor i les variables conserven el seu valor. Al llarg de tot el programa, el número de comanda continua mostrant-se a l'etiqueta superior com hauria de ser. L'aplicació està en directe, processant dades reals, tot el temps. Pots desar-lo, marxar, i altres poden obrir-lo i utilitzar-lo igual que Excel. No hi ha cap pas de compilació, ni de compilació, només un pas de publicació per determinar quina versió de l'aplicació està llesta per als usuaris.
Codi reduït
El Power Fx descriu la lògica empresarial en fórmules concises però potents. La majoria de la lògica es redueix a una sola línia, amb molta expressivitat i control per a necessitats més complexes. L'objectiu és que el nombre de conceptes que el creador ha d'entendre sigui el mínim, idealment no més que els que ja coneixeria un usuari de l'Excel.
Per exemple, per cercar el nom d'un empleat per a una comanda, escriviu el Power Fx tal com es mostra a l'animació següent. Més enllà dels conceptes de l'Excel, l'únic concepte afegit que s'utilitza aquí és el punt "." per desglossar una estructura de dades, en aquest cas .Employee.'First Name'. L'animació mostra l'assignació entre les parts de la fórmula Power Fx i els conceptes que s'han de codificar explícitament en el JavaScript equivalent.
Mirem més en profunditat totes les coses que Power Fx fa per nosaltres i la llibertat que té per optimitzar perquè la fórmula és declarativa:
Asíncron: totes les operacions de dades són Power Fx asíncrones. El creador no ha d'especificar-ho, ni tampoc el responsable ha de sincronitzar les operacions un cop acabada la trucada. El creador no ha de conèixer aquest concepte, no cal que sàpiga què és una funció de promesa o lambda.
Local i remot: Power Fx utilitza la mateixa sintaxi i funcions per a les dades que són locals a la memòria i connecta remotament una base de dades o un servei. L'usuari no ha de pensar en aquesta distinció. El Power Fx delega automàticament el que pot al servidor per processar-hi els filtres i les ordenacions de manera més eficient.
Dades relacionals: les comandes i els clients són dues taules diferents, amb una relació de diversos a un. La consulta OData necessita un "$expand" amb coneixements de la clau aliena, de manera semblant a un Join en SQL. La fórmula no té res d'això, de fet, les claus de base de dades són un altre concepte que el creador no cal que conegui. El creador pot utilitzar la notació de punts simple per accedir a tot el gràfic de relacions des d'un registre.
Projecció: Quan escriviu una consulta, molts desenvolupadors escriuen
select * from table, cosa que recupera totes les columnes de dades. El Power Fx analitza totes les columnes que s'utilitzen a tota l'aplicació, fins i tot a les dependències de fórmules. La projecció s'optimitza automàticament i, de nou, un creador no necessita saber què vol dir "projecció".Recupera només el que es necessita: En aquest exemple, la
LookUpfunció implica que només s'ha de recuperar un registre i això és tot el que es retorna. Si se sol·liciten més registres mitjançant la funcióFilter, per a la qual es poden retornar milers de registres, es retorna una sola pàgina de dades, en l'ordre de 100 registres per pàgina. L'usuari ha de fer un gest a través d'una galeria o taula de dades per veure més dades, i automàticament en rep més. El creador pot raonar sobre els conjunts grans de dades sense haver de pensar en la limitació de les sol·licituds de dades en fragments administrables.S'executa només quan cal: Es defineix una fórmula per a la
Textpropietat del control de l'etiqueta. Quan la variable seleccionada canvia,LookUpes torna a calcular automàticament i l'etiqueta s'actualitza. El creador no ha d'escriure un controlador OnChange per a Selection i no ha de recordar que aquesta etiqueta depèn d'ella. Això és programació declarativa, com s'ha explicat anteriorment: el creador ha especificat el que vol tenir a l'etiqueta, no com o quan s'hauria de recollir. Si aquesta etiqueta no és visible perquè està en una pantalla que no és visible, o la sevaVisiblepropietat és falsa, pots ajornar aquest càlcul fins que l'etiqueta sigui visible i eliminar-la efectivament si això passa rarament.Traducció de sintaxi d'Excel : Molts usuaris saben que l'ampersand (&) s'utilitza per a la concatenació de cadenes a Excel. JavaScript utilitza un signe de més (+) i altres llenguatges utilitzen un punt ( .).Noms de visualització i localització:
First Names'utilitza a la Power Fx fórmula mentre quenwind_firstnames'utilitza a l'equivalent de JavaScript. Al Microsoft Dataverse i al SharePoint, hi ha un nom de visualització per a les columnes i les taules a més d'un nom lògic únic. Els noms de visualització són sovint molt més fàcils d'utilitzar, com en aquest cas, però tenen una altra qualitat important: que es poden localitzar. Si teniu un equip multilingüe, cada membre de l'equip pot veure els noms de taula i de camp en la seva pròpia llengua. En tots els casos, Power Fx s'assegura que s'envia automàticament el nom lògic correcte a la base de dades.
Sense codi
No cal llegir ni escriure Power Fx per començar a expressar la lògica. Pots expressar moltes personalitzacions i lògica mitjançant interruptors senzills i constructors d'interfície. Aquestes eines sense codi estan pensades per llegir i escriure Power Fx, així que hi ha molt marge perquè algú ho porti més enllà. Tanmateix, les eines sense codi mai ofereixen tota l'expressivitat del llenguatge complet. Fins i tot quan utilitzes constructors sense codi, la barra de fórmules està al centre de Power Apps per educar el creador sobre què es fa en el seu nom perquè pugui començar a aprendre Power Fx.
Vegem alguns exemples. Al Power Apps, la subfinestra de propietats proporciona commutadors i botons "sense codi" per a les propietats dels controls. A la pràctica, la majoria dels valors de propietat són estàtics. Podeu utilitzar el creador de colors per canviar el color de fons de la Gallery. Observeu que la barra de fórmules reflecteix aquest canvi, actualitzant la fórmula a una crida RGBA diferent. En qualsevol moment, pots anar a la barra de fórmules i portar aquest canvi un pas més enllà: en aquest exemple, utilitzant ColorFade per ajustar el color. La propietat de color encara apareix a la subfinestra de propietats, però apareix una icona fx en passar-hi el punter i se us dirigeix a la barra de fórmules. Això funciona de dues maneres: si suprimiu la crida ColorFade, la crida retorna el color a quelcom que la subfinestra de propietat pot entendre i el podeu tornar a utilitzar per definir un color.
Aquest és un exemple més complex. A la galeria es mostra una llista d'empleats del Dataverse. El Dataverse proporciona visualitzacions de les dades de la taula. Pots seleccionar una d'aquestes vistes i la fórmula canvia per utilitzar la Filter funció amb aquest nom de vista. Pots utilitzar els dos menús desplegables per marcar la taula i la vista correctes sense tocar la barra de fórmules. Però suposem que voleu anar més enllà i afegir una ordenació. Pots afegir aquesta funció a la barra de fórmules, i el panell de propietats torna a mostrar una icona d'efectes i dirigeix les modificacions a la barra de fórmules. I, de nou, si simplifiques la fórmula perquè el panell de propietats pugui llegir i escriure, es pot utilitzar.
Aquests exemples són senzills. Power Fx és un llenguatge excel·lent per descriure interaccions sense codi. És concís, potent i fàcil d'entendre. Proporciona l'espai de marge que sovint es necessita amb "sense penya-segats" fins a low-code.
Codi professional
Els creadors de low-code de vegades creen solucions que requereixen l'ajuda d'un expert o que són assumides per un desenvolupador professional per mantenir-les i millorar-les. Els professionals també aprecien que el desenvolupament de codi reduït pugui ser més fàcil, més ràpid i menys costós que crear una eina professional. No totes les situacions necessiten totes les capacitats del Visual Studio.
Els professionals volen utilitzar eines professionals per ser més productius. Pots emmagatzemar fórmules de Power Fx en fitxers font YAML, que són fàcils d'editar utilitzant Visual Studio Code, Visual Studio o qualsevol altre editor de text. Emmagatzemar fórmules en fitxers YAML et permet posar Power Fx sota control de versions utilitzant GitHub, Azure DevOps o qualsevol altre sistema de control de codi font.
El Power Fx admet components basats en fórmules per compartir i reutilitzar. Suporta paràmetres per a les propietats dels components, permetent la creació de funcions purament definides per l'usuari amb més millores en el camí.
A més, el Power Fx és ideal per agrupar components i serveis creats per professionals. Els connectors estàndard proporcionen accés a centenars de fonts de dades i serveis web. Els connectors personalitzats permeten que Power Fx es comuniqui amb qualsevol servei web REST. Els components de codi permeten que Power Fx interactuï amb JavaScript totalment personalitzat a la pantalla i a la pàgina.
Principis del disseny
Simple
Power Fx està dissenyat per dirigir-se al públic maker, els membres del qual no estan formats com a desenvolupadors. Sempre que sigui possible, el llenguatge utilitza coneixements que aquest públic ja coneix o pot captar ràpidament. El nombre de conceptes necessaris per poder-lo utilitzar amb èxit es manté en quantitats mínimes.
El fet que sigui senzill també és bo per als desenvolupadors. Per al públic de desenvolupadors, Power Fx pretén ser un llenguatge low-code que redueixi el temps necessari per construir una solució.
Coherència amb l'Excel
El llenguatge del Microsoft Power Fx pren moltes coses del llenguatge de les fórmules de l'Excel. Aprofita el coneixement i l'experiència d'Excel dels molts fabricants que també utilitzen Excel. La semàntica dels tipus, operadors i funcions és al més semblant possible a la de l'Excel.
Si Excel no té una resposta, Power Fx després busca SQL. Després de l'Excel, l'SQL és el següent llenguatge declaratiu que s'utilitza més habitualment i pot proporcionar orientacions sobre operacions de dades i el tipatge fort que l'Excel no ofereix.
Declaratiu
El creador descriu què vol que faci la lògica, no exactament com o quan s'ha de fer. Aquest enfocament permet al compilador optimitzar realitzant operacions en paral·lel, ajornant la feina fins que sigui necessari i prerecollint i reutilitzant dades emmagatzemades en memòria cau.
Per exemple, en una fitxa d'Excel, l'autor defineix les relacions entre cèl·lules però Excel decideix quan i en quin ordre avaluar les fórmules. De manera similar, pots pensar en les fórmules d'una aplicació com a "recalculant" segons calgui segons accions de l'usuari, canvis a la base de dades o esdeveniments temporitzadors.
Funcional
Utilitza funcions pures que no tinguin efectes secundaris. Aquest enfocament resulta en una lògica més fàcil d'entendre i dóna al compilador la major llibertat per optimitzar.
A diferència d'Excel, les aplicacions per naturalesa sí que muten en estat. Per exemple, les aplicacions tenen botons que desen els canvis al registre dins d'una base de dades. Per tant, algunes funcions tenen efectes secundaris, tot i que limiten aquests efectes tant com sigui pràctic.
Composició
Sempre que sigui possible, afegeix funcionalitats que s'adaptin bé a la funcionalitat existent. Pots descompondre funcions potents en parts més petites que pots utilitzar més fàcilment de manera independent.
Per exemple, un control de Galeria no té propietats Sort i Filter independents. En canvi, composes les Sort funcions i Filter juntes en una sola Items propietat. Superposes la interfície d'usuari per expressar Sort i Filter comportar-se a sobre de la Items propietat utilitzant un editor bidireccional per a aquesta propietat.
Tipus potents
Els tipus de tots els valors es coneixen en temps de compilació. Aquest enfocament permet la detecció precoç d'errors i suggeriments rics durant l'autoria.
Es suporten tipus polimòrfics, però abans de poder utilitzar-los, cal fixar el seu tipus a un tipus estàtic i aquest tipus ha de ser conegut en temps de compilació. Les funcions IsType i AsType es proporcionen per a tipus de proves i tipus de conversió.
Inferència de tipus
Els tipus es deriven del seu ús sense ser declarats. Per exemple, si s'estableix una variable en un resultat numèric, el tipus de la variable que s'estableix serà un nombre.
L'ús de tipus en conflicte donen lloc a errors en temps de compilació.
Separadors decimals sensibles a la configuració regional
Algunes regions del món utilitzen un punt (.) com a separador decimal, mentre que altres utilitzen una coma (,). Excel segueix aquesta convenció regional. Altres llenguatges de programació generalment utilitzen un punt canònic (.) com a separador decimal per a tots els usuaris del món. Perquè s'ajusti a tots els creadors de tots els nivells, és important que 3,14 sigui un nombre decimal per a una persona de França que ha utilitzat aquesta sintaxi tota la seva vida.
La tria del separador decimal té un impacte en majúscules en el separador de llistes, que s'utilitza per als arguments de crida de funció, i l'operador d'encadenament.
| Separador decimal de la llengua de l'autor | Separador decimal del Power Fx | Separador de llista del Power Fx | Operador d'encadenament del Power Fx |
|---|---|---|---|
| . (punt) | . (punt) | , (coma) | ; (punt i coma) |
| , (coma) | , (coma) | ; (punt i coma) | ;; (punt i coma doble) |
Més informació: Assistència tècnica global
No orientat a objectes
L'Excel no està orientat a objectes i Power Fx tampoc. Per exemple, en alguns llenguatges, la longitud d'una cadena s'expressa com una propietat de la cadena, com ara "Hello World".length a JavaScript. L'Excel i el Power Fx, en lloc d'això, ho expressem en termes d'una funció com Len( "Hello World" ).
Els components amb propietats i mètodes estan orientats a objectes i el Power Fx hi treballa fàcilment. Però sempre que sigui possible, prefereix un enfocament funcional.
Extensible
Els creadors poden crear els seus components i funcions mitjançant Power Fx. Els desenvolupadors poden crear els seus components i funcions escrivint JavaScript.
Fàcil d'utilitzar per als desenvolupadors
Tot i que els fabricants són l'objectiu principal, intenta ser amigable amb els desenvolupadors sempre que sigui possible. Si no entra en conflicte amb els principis de disseny descrits anteriorment, fes les coses d'una manera que el desenvolupador apreciï. Per exemple, Excel no té capacitat per afegir comentaris, així que utilitza comentaris tipus C i en línia.
Evolució del llenguatge
L'evolució dels llenguatges de programació és necessària i difícil. Tothom, amb raó, està preocupat perquè un canvi, per més que sigui ben intencionat, pugui trencar el codi existent i obligar els usuaris a aprendre un patró nou. Power Fx es pren seriosament la compatibilitat cap enrere, però l'equip de Power Fx també creu fermament que no sempre ho faran bé a la primera i que la comunitat pot aprendre col·lectivament què és el millor. Un llenguatge de programació ha d'evolucionar, i Power Fx va ser dissenyat per donar suport a l'evolució del llenguatge des del principi.
Cada document de Power Fx desat inclou un segell de versió d'idioma. Si l'equip de Power Fx vol fer un canvi incompatible, escriuen el que anomenen un "convertidor de retrocompatibilitat" que reescriu automàticament la fórmula la propera vegada que s'edita. Si el canvi és important i l'equip ha d'educar l'usuari, l'aplicació mostra un missatge amb un enllaç a la documentació. Utilitzant aquesta funcionalitat, Power Fx encara pot carregar aplicacions que es van crear amb les versions prèvies de Power Apps de fa molts anys, malgrat tots els canvis que s'han produït des de llavors.
Per exemple, l'equip de Power Fx va introduir la ShowError funció de mostrar un bàner d'error amb un fons vermell.
Als usuaris els encantava, però també demanaven una manera de mostrar un banner d'èxit (fons verd) o un banner informatiu (fons blau). Així doncs, l'equip va idear una funció més genèrica Notify que utilitza un segon argument pel tipus de notificació. L'equip podria haver afegit Notify i mantingut ShowError com estava, però en comptes d'això el van substituir ShowError per Notify. Van eliminar una funció que abans estava en producció i la van substituir per una altra. Com que hi hauria hagut dues maneres de fer el mateix, aquest canvi hauria causat confusió—especialment per als nous usuaris—i, el més important, hauria afegit complexitat. Ningú es va queixar, tothom va valorar el canvi, i després es va traslladar a la següent característica Notificar.
Aquest és l'aspecte de la mateixa aplicació quan es carrega a la versió més recent del Power Apps. L'usuari no va necessitar fer cap acció perquè es produís aquesta transformació, es va produir automàticament en obrir l'aplicació.
Mitjançant aquesta funcionalitat, Power Fx pot evolucionar més ràpidament i de manera més agressiva que la majoria de llenguatges de programació.
Cap valor sense definir
Alguns llenguatges, com ara JavaScript, utilitzen el concepte de valor no definit per a les variables no inicialitzades o les propietats que falten. Per simplicitat, Power Fx evita aquest concepte. Les instàncies que en altres llenguatges haurien estat no definides es tracten com un error o un valor en blanc. Per exemple, totes les variables no inicialitzades comencen amb un valor en blanc. Tots els tipus de dades poden tenir un valor en blanc.
Articles relacionats
Tipus de dades
Operadors i identificadors
Taules
Variables
Lògica imperativa
Suport global
Gramàtica de l'expressió
Gramàtica de la fórmula YAML
Fórmules a les aplicacions de llenç