Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Power Fx es el lenguaje de código bajo que Microsoft Power Platform usa. Es un lenguaje de programación funcional, fuertemente tipado, declarativo y de uso general.
Power Fx se expresa en texto entendible para las personas. Es un lenguaje con poco código con el que los fabricantes pueden trabajar directamente en una barra de fórmulas similar a Excel o la ventana de texto de Visual Studio Code. El "bajo" en código bajo proviene de la naturaleza concisa y sencilla del lenguaje, lo que facilita las tareas de programación comunes tanto para los creadores como para los desarrolladores. Permite el amplio espectro de desarrollo desde no-código para aquellos que nunca programaron antes a "pro-code" para el profesional experimentado, sin aprendizaje ni reescritura de acantilados entre sí. Diversos equipos pueden colaborar y ahorrar tiempo y gastos.
Nota
- Microsoft Power Fx es el nuevo nombre del lenguaje de fórmulas para aplicaciones de lienzo en Power Apps. Esta introducción y los artículos asociados son un trabajo en curso, ya que Microsoft extrae el lenguaje de las aplicaciones de lienzo, lo integra con otros productos de Microsoft Power Platform y hace que esté disponible como código abierto. Para obtener más información y experimentar el lenguaje hoy mismo, comience con Comenzar a utilizar fórmulas en aplicaciones de lienzo en la documentación de Power Apps y regístrate para una prueba gratuita de Power Apps.
- En este artículo, los creadores hacen referencia a los usuarios que podrían usar una característica al final del espectro de aptitudes de programación. Los desarrolladores hacen referencia a los usuarios cuando la característica es más avanzada y es probable que esté fuera del ámbito de un usuario de Excel típico.
Power Fx combina objetos con fórmulas declarativas similares a hojas de cálculo. Por ejemplo, piense en la propiedad Visible de un control de IU como una celda en una hoja de cálculo de Excel, con una fórmula asociada que calcula su valor en función de las propiedades de otros controles. La lógica de la fórmula recalcula el valor automáticamente, de forma similar a como lo hace una hoja de cálculo, lo que afecta la visibilidad del control.
También, Power Fx ofrece lógica imperativa cuando es necesario. Las hojas de trabajo no suelen tener botones que puedan enviar cambios a una base de datos, pero las aplicaciones suelen hacerlo. El mismo lenguaje de expresión se usa tanto para la lógica declarativa como para la imperativa.
Microsoft hará que Power Fx esté disponible como software de código abierto. Actualmente se integra en aplicaciones de lienzo y Microsoft está en proceso de extraerlo de Power Apps para usarlo en otros productos Microsoft Power Platform y como código abierto. Más información: Microsoft Power Fx en GitHub
Este artículo es una descripción general del lenguaje y sus principios de diseño. Para obtener más información sobre Power Fx, consulte los siguientes artículos:
- Tipos de datos
- Operadores e identificadores
- Tablas
- Variables
- Lógica imperativa
- Soporte global
- Gramática de expresiones
- Gramática de fórmulas YAML
Piense en hoja de cálculo
¿Qué pasaría si pudiera crear una aplicación con la misma facilidad que crea una hoja de trabajo en Excel?
¿Qué pasaría si pudiera aprovechar sus conocimientos actuales sobre hojas de cálculo?
Estas preguntas inspiraron la creación de Power Apps y Power Fx. Cientos de millones de personas crean hojas de cálculo con Excel todos los días. Comencemos a crear aplicaciones que sean fáciles y usen Excel conceptos que ya conocen. Al separar Power Fx de Power Apps, vamos a responder a estas preguntas para generar automatización o crear un agente virtual u otros dominios.
Todos los lenguajes de programación, incluido Power Fx, tienen expresiones : una forma de representar un cálculo con números, cadenas u otros tipos de datos. Por ejemplo, mass * acceleration en la mayoría de los idiomas expresa la multiplicación de mass y acceleration. Puede colocar el resultado de una expresión en una variable, usarla como argumento para un procedimiento o anidarla en una expresión más grande.
Power Fx evoluciona este sistema. Una expresión por sí sola no dice nada sobre lo que está calculando. Depende del creador colocarlo en una variable o pasarlo a una función. En Power Fx, en lugar de tan solo escribir una expresión que no tiene un significado específico, escribe una fórmula que vincula la expresión a un identificador. Usted escribe force = mass * acceleration como fórmula para calcular force. A medida mass que cambia o acceleration cambia, force se actualiza automáticamente a un nuevo valor. La expresión describía un cálculo, una fórmula le daba un nombre a ese cálculo y lo usaba como receta. Por eso nos referimos a Power Fx como un lenguaje de fórmulas.
Por ejemplo, esta fórmula de Stack Overflow busca una cadena en orden inverso. En Excel, se parece a la siguiente imagen.
Captura de pantalla de una barra de fórmulas en Excel con la fórmula: =RIGHT(A1,LEN(A1)- FIND("|", SUBSTITUTE(A1," ","|", LEN(A1)-LEN(SUBSTITUTE(A1," ","")))) La celda A1 contiene el texto" ¡Hola, mundo! It is great to meet you!" La celda A2 contiene el texto "you!"
Power Fx funciona con esta misma fórmula, con las referencias de celda sustituidas con referencias de propiedad de control:
Captura de pantalla de una barra de fórmula de Power Fx en Power Apps. La fórmula es =RIGHT(Input.Text,Len(Input.Text)- FIND("|", SUBSTITUTE(Input.Text," ","|", Len(Input.Text)-Len(Substitute(Input.Text," ","")))) En el cuadro de entrada debajo de la fórmula, el texto "¡Hola, mundo! It is great to meet you!" aparece, letra por letra. Al mismo tiempo, en el cuadro Etiqueta, aparecen las letras de la última palabra. Cuando aparece el texto completo en el cuadro de entrada, la palabra "you!" aparece en el cuadro Etiqueta.
A medida que cambia el valor del Input control, el Label control vuelve a calcular automáticamente la fórmula y muestra el nuevo valor. Aquí no existen controladores de eventos OnChange, como sería común en otros idiomas.
Otro ejemplo usa una fórmula para el Fill color de la pantalla. A medida que cambian los controles deslizantes rojo, verde y azul, el color de fondo cambia automáticamente a medida que se vuelve a calcular.
No existen eventos OnChange para los controles deslizantes, como sería común en otros idiomas. No hay forma de establecer explícitamente el valor de la propiedad Fill en absoluto. Si el color no funciona como se esperaba, debe observar esta fórmula para comprender por qué no funciona. No es necesario buscar en la aplicación para encontrar un fragmento de código que establezca la propiedad en un momento inesperado; no hay elemento de tiempo. Siempre se mantienen los valores correctos de la fórmula.
Como los controles deslizantes se establecen en un color oscuro, las etiquetas de Rojo, Verde y Azul cambian a blanco para compensar. Este cambio se produce a través de una fórmula sencilla en la Color propiedad para cada control de etiqueta.
Lo mejor de esta fórmula es que está aislado de lo que sucede para el Fill color: estos son dos cálculos completamente diferentes. En lugar de grandes procedimientos monolíticos, la lógica de Power Fx suele consistir de muchas fórmulas más pequeñas que son independientes. Esta estructura facilita la comprensión y habilita las mejoras sin alterar la lógica existente.
Power Fx es un lenguaje declarativo, al igual que Excel. El fabricante define qué comportamiento quieren, pero depende del sistema determinar y optimizar cómo y cuándo lograrlo. Para que eso sea práctico, la mayor parte del trabajo se realiza a través de funciones puras sin efectos colaterales, lo que hace que Power Fx también sean lenguaje funcional (de nuevo, igual que Excel).
Siempre activo
Un aspecto definitorio de las hojas de trabajo es que siempre están activas y los cambios se reflejan instantáneamente. No hay ningún modo de compilación o ejecución en una hoja de cálculo. Al modificar una fórmula o escribir un valor, la hoja de cálculo vuelve a calcular inmediatamente para reflejar los cambios. Los errores detectados se muestran inmediatamente y no interfieren con el resto de la hoja de cálculo.
Power Fx implementa lo mismo. Usa un compilador incremental para mantener continuamente el programa sincronizado con los datos en los que funciona. Los cambios se propagan automáticamente a través del gráfico del programa, lo que afecta a los resultados de los cálculos dependientes. Estos cálculos pueden impulsar propiedades en controles como color o posición. El compilador incremental también proporciona una rica experiencia de edición de fórmulas con IntelliSense, sugerencias, autocompletar y verificación de tipos.
En la siguiente animación, el número de orden se muestra en un control de etiqueta que depende del control deslizante, aunque haya dos errores en las etiquetas debajo de él. La aplicación es muy viva e interactiva. El primer intento de arreglar la fórmula ingresando .InvalidName da como resultado una línea roja inmediata y se muestra un error, como debería, pero la aplicación sigue ejecutándose.
Al escribir .Employee, el Data panel agrega la tabla Employees, recupera los metadatos de esta tabla y ofrece inmediatamente sugerencias para las columnas. Acaba de recorrer una relación de una tabla a otra y el sistema realizó los ajustes necesarios en las referencias de la aplicación. Lo mismo sucede al agregar un .Customer.
Después de cada cambio, el control deslizante continúa con su último valor y las variables retienen su valor. A lo largo de todo, el número de pedido sigue mostrándose en la etiqueta superior como debería. La aplicación está activa, procesando datos reales, todo el tiempo. Puede guardarlo, alejarse y otros pueden abrirlo y usarlo igual que Excel. No hay ningún paso de compilación, ninguna compilación, solo hay un paso de publicación para determinar qué versión de la aplicación está lista para los usuarios.
Poco código
Power Fx describe la lógica de negocios en fórmulas concisas, pero muy eficaces. La mayoría de la lógica se reduce a una sola línea, con mucha expresividad y control para necesidades más complejas. El objetivo es mantener al mínimo la cantidad de conceptos que un creador necesita comprender, idealmente no más de lo que un usuario de Excel ya sabría.
Por ejemplo, para buscar el nombre de pila de un empleado para un pedido, de escribir la fórmula de Power Fx como se muestra en la siguiente animación. Más allá de los conceptos de Excel, el único concepto agregado que se usa aquí es la notación del punto "." para profundizar en una estructura de datos, en este caso .Employee.'First Name'. La animación muestra la asignación entre las partes de la fórmula de Power Fx y los conceptos que deben codificarse explícitamente en el JavaScript equivalente.
Echemos un vistazo más detallado a todas las cosas que Power Fx hace por nosotros y la libertad que tiene que optimizar porque la fórmula es declarativa:
Asincrónico :Todas las operaciones de datos en Power Fx son asincrónicos. El fabricante no necesita especificar esto, ni el fabricante necesita sincronizar las operaciones una vez finalizada la llamada. El creador no necesita ser consciente de este concepto en absoluto, no necesita saber qué es una promesa o función lambda.
Local y remoto : Power Fx utiliza la misma sintaxis y funciones para datos que están en la memoria local y se conectan de forma remota a una base de datos o servicio. El usuario no necesita pensar en esta distinción. Power Fx delega automáticamente lo que puede al servidor para procesar los filtros y clasificarlos de manera más eficiente.
Datos relacionales :Pedidos y Clientes son dos tablas diferentes, con una relación de muchos a uno. La consulta OData requiere un "$expand" con conocimiento de la clave externa, similar a un Join en SQL. La fórmula no tiene nada de esto; de hecho, las claves de la base de datos son otro concepto que el fabricante no necesita conocer. El creador puede usar una simple notación de puntos para acceder a todo el gráfico de Relaciones desde un registro.
Proyección :Al escribir una consulta, muchos desarrolladores escriben
select * from table, que recupera todas las columnas de datos. Power Fx analiza todas las columnas que se usan en toda la aplicación, incluso en las dependencias de fórmulas. La proyección se optimiza automáticamente y, de nuevo, un creador no necesita saber qué significa "proyección".Recupere sólo lo necesario :En este ejemplo, el
LookUpLa función implica que solo se debe recuperar un registro y eso es todo lo que se devuelve. Si se solicitan más registros mediante la funciónFilter(para la cual miles de registros podrían calificar) solo se devuelve una sola página de datos a la vez, del orden de 100 registros por página. El usuario debe realizar gestos a través de una galería o tabla de datos para ver más datos y, de forma automática, aporta más datos para ellos. El fabricante puede razonar sobre grandes conjuntos de datos sin necesidad de pensar en limitar las solicitudes de datos a fragmentos manejables.Solo se ejecuta cuando es necesario: se define una fórmula para la
Textpropiedad del control de etiqueta. A medida que cambia la variable seleccionada,LookUpse recalcula automáticamente y la etiqueta se actualiza. El fabricante no necesitaba escribir un controlador OnChange para Selection y no necesitaba recordar que esta etiqueta depende de él. Esta es la programación declarativa, como se discutió anteriormente, el creador especificó lo que querían tener en la etiqueta, no cómo o cuándo debería ser recuperado. Si esta etiqueta no está visible porque está en una pantalla que no está visible o suVisiblepropiedad es false, puede aplazar este cálculo hasta que la etiqueta sea visible y eliminarla de forma eficaz si rara vez ocurre.Excel traducción de sintaxis : muchos usuarios saben que la y comercial (& ) se usa para la concatenación de cadenas en Excel. JavaScript usa un signo más (+) y otros idiomas usan un punto (.).Nombres para mostrar y localización :
First Namese utiliza en el Power Fx fórmula mientrasnwind_firstnamese utiliza en el equivalente de JavaScript. En Microsoft Dataverse y SharePoint, hay un nombre para columnas y tablas además de un nombre lógico único. Los nombres para mostrar suelen ser mucho más fáciles de usar, como en este caso, pero tienen otra cualidad importante en el sentido de que se pueden localizar. Si tiene un equipo multilingüe, cada miembro del equipo puede ver los nombres de las tablas y los campos en su propio idioma. En todos los casos de uso, Power Fx garantiza que se envíe automáticamente el nombre lógico correcto a la base de datos.
Sin código
No es necesario leer ni escribir Power Fx para empezar a expresar la lógica. Puede expresar muchas personalizaciones y lógicas a través de conmutadores simples y generadores de interfaz de usuario. Estas herramientas sin código se crean para leer y escribir Power Fx, por lo que hay mucho espacio para que alguien lo tome más. Sin embargo, las herramientas sin código nunca ofrecen toda la expresividad del lenguaje completo. Incluso cuando se usan generadores sin código, la barra de fórmulas es frontal y central en Power Apps para educar al creador sobre lo que se hace en su nombre para que puedan empezar a aprender Power Fx.
Veamos algunos ejemplos. En Power Apps, el panel de propiedades proporciona interruptores y botones sin código para las propiedades de los controles. En la práctica, la mayoría de los valores de propiedad son estáticos. Puede utilizar el generador de colores para cambiar el color de fondo de Gallery. Observe que la barra de fórmulas refleja este cambio, actualizando la fórmula a una llamada RGBA. En cualquier momento, puede ir a la barra de fórmulas y realizar este cambio un paso más adelante, en este ejemplo, mediante ColorFade para ajustar el color. La propiedad de color todavía aparece en el panel de propiedades, pero aparece un icono fx al pasar el mouse y se le dirige a la barra de fórmulas. Esto funciona completamente de dos maneras: al quitar la llamada ColorFade, se devuelve el color a algo que el panel de propiedades pueda entender, y puede usarlo nuevamente para establecer un color.
Aquí hay un ejemplo más complicado. La galería muestra una lista de empleados de Dataverse. Dataverse proporciona vistas sobre los datos de la tabla. Puede seleccionar una de estas vistas y los cambios de fórmula para usar la Filter función con este nombre de vista. Puede usar los dos menús desplegables para marcar en la tabla y vista correctas sin tocar la barra de fórmulas. Pero digamos que quiere ir más allá y agregar un tipo. Puede agregar esa función en la barra de fórmulas y el panel de propiedades muestra de nuevo un icono fx y dirige las modificaciones a la barra de fórmulas. Y de nuevo, si simplifica la fórmula en algo que el panel de propiedades puede leer y escribir, se puede usar.
Estos ejemplos son sencillos. Power Fx hace un gran lenguaje para describir interacciones sin código. Es conciso, potente y fácil de analizar. Proporciona el espacio para la cabeza que se necesita con tanta frecuencia sin "acantilados" hasta código bajo.
Código profesional
A veces, los creadores de código bajo crean soluciones que requieren la ayuda de un experto o son tomadas por un desarrollador profesional para mantener y mejorar. Los profesionales también aprecian que el desarrollo de código bajo puede ser más fácil, rápido y menos costoso que crear una herramienta profesional. No todas las situaciones requieren todo el poder de Visual Studio.
Los profesionales quieren utilizar herramientas profesionales para ser más productivos. Puede almacenar fórmulas de Power Fx en archivos de código fuente de YAML, que son fáciles de editar mediante Visual Studio Code, Visual Studio o cualquier otro editor de texto. Almacenar fórmulas en archivos YAML permite poner Power Fx bajo control de código fuente mediante GitHub, Azure DevOps o cualquier otro sistema de control de código fuente.
Power Fx admite componentes basados en fórmulas para compartir y reutilizar. Admite parámetros para propiedades de componente, lo que permite la creación de funciones puras definidas por el usuario con más mejoras en el camino.
También, Power Fx es excelente para combinar componentes y servicios creados por profesionales. Los conectores estándar proporcionan acceso a cientos de orígenes de datos y servicios web. Los conectores personalizados permiten a Power Fx comunicarse con cualquier servicio web REST. Los componentes de código permiten que Power Fx interactúe con JavaScript totalmente personalizado en la pantalla y la página.
Principios de diseño
Sencillo
Power Fx está diseñado para dirigirse a la audiencia creadora, cuyos miembros no están entrenados como desarrolladores. Siempre que sea posible, el lenguaje usa el conocimiento que este público ya conoce o puede recoger rápidamente. El número de conceptos necesarios para tener éxito se mantiene al mínimo.
Ser simple también es bueno para los desarrolladores. Para la audiencia del desarrollador, Power Fx pretende ser un lenguaje de poco código que reduce el tiempo necesario para crear una solución.
Consistencia con Excel
El lenguaje Microsoft Power Fx toma prestado en gran medida del lenguaje de fórmulas de Excel. Aprovecha Excel conocimientos y experiencia de los muchos creadores que también usan Excel. Los tipos, los operadores y la semántica de funciones están lo más cerca posible de Excel.
Si Excel no tiene una respuesta, Power Fx se ve a SQL. Después de Excel, SQL es el siguiente lenguaje declarativo más utilizado y puede proporcionar orientación sobre operaciones de datos y mecanografía sólida que Excel no ofrece.
Declarativo
El fabricante describe qué quieren que su lógica funcione, no exactamente cómo o cuándo hacerlo. Este enfoque permite al compilador optimizar realizando operaciones en paralelo, aplazando el trabajo hasta que sea necesario, captura previa y reutilización de datos almacenados en caché.
Por ejemplo, en una hoja de cálculo de Excel, el autor define las relaciones entre celdas, pero Excel decide cuándo y en qué orden evaluar las fórmulas. Del mismo modo, puede considerar fórmulas en una aplicación como "recalcular" según sea necesario en función de las acciones del usuario, los cambios de la base de datos o los eventos del temporizador.
Funcional
Use funciones puras que no tengan efectos secundarios. Este enfoque da como resultado una lógica más fácil de entender y proporciona al compilador la mayor libertad de optimizar.
A diferencia de Excel, las aplicaciones por su naturaleza hacen mutar el estado. Por ejemplo, las aplicaciones tienen botones que guardan los cambios en el registro de una base de datos. Algunas funciones, por lo tanto, tienen efectos secundarios, aunque limiten estos efectos secundarios tanto como sea práctico.
Composición
Siempre que sea posible, agregue funcionalidad que se componga bien con la funcionalidad existente. Puede descomponer funciones eficaces en partes más pequeñas que puede usar de forma más sencilla de forma independiente.
Por ejemplo, un control Galería no tiene propiedades Sort y Filter independientes. En su lugar, se componen las Sort funciones y Filter en una sola Items propiedad. Puede superponer Sort la interfaz de usuario para expresar y Filter comportamiento sobre la Items propiedad mediante un editor bidireccional para esta propiedad.
Fuertemente tipado
Los tipos de todos los valores se conocen en tiempo de compilación. Este enfoque permite la detección temprana de errores y sugerencias enriquecidas durante la creación.
Se admiten tipos polimórficos, pero antes de poder usarlos, debe anclar su tipo a un tipo estático y ese tipo debe conocerse en tiempo de compilación. Las funciones IsType y AsType se proporcionan para pruebas y tipos de conversión.
Inferencia de tipo
Los tipos se derivan de su uso sin declararse. Por ejemplo, establecer una variable en un número da como resultado que el tipo de la variable se establezca como un número.
El uso de tipos conflictivos da como resultado un error en tiempo de compilación.
Separadores decimales sensibles a la configuración regional
Algunas regiones del mundo usan un punto (.) como un separador decimal, mientras que otros usan una coma (,). Excel sigue esta convención regional. Otros lenguajes de programación suelen usar un punto canónico (.) como separador decimal para todos los usuarios de todo el mundo. Para ser lo más accesible posible para los creadores de todos los niveles, es importante que 3,14 es un número decimal para una persona en Francia que ha usado esa sintaxis toda su vida.
La elección del separador decimal tiene un impacto en cascada en el separador de lista, utilizado para argumentos de llamada de función, y el operador de encadenamiento.
| Separador decimal del idioma del autor | Separador decimal de Power Fx | Separador de lista de Power Fx | Operador de encadenamiento de Power Fx |
|---|---|---|---|
| , (punto) | , (punto) | , (coma) | ; (punto y coma) |
| , (coma) | , (coma) | ; (punto y coma) | ;; (doble punto y coma) |
Más información: Soporte global
No orientado a objetos
Excel no está orientado a objetos, y tampoco lo está Power Fx. Por ejemplo, en algunos lenguajes, la longitud de una cadena se expresa como una propiedad de la cadena, como "Hola mundo".length en JavaScript. Excel y Power Fx en su lugar, expresan esto en términos de una función como Len( "Hola mundo" ).
Los componentes con propiedades y métodos están orientados a objetos y Power Fx funciona fácilmente con ellos. Pero siempre que sea posible, prefiera un enfoque funcional.
Ampliable
Los fabricantes pueden crear sus componentes y funciones usando Power Fx. Los desarrolladores pueden crear sus componentes y funciones escribiendo JavaScript.
Apto para desarrolladores
Aunque los creadores son el destino principal, intente ser fácil de desarrolladores siempre que sea posible. Si no entra en conflicto con los principios de diseño descritos anteriormente, haga las cosas de una manera que un desarrollador aprecia. Por ejemplo, Excel no tiene capacidad para agregar comentarios, por lo que debe usar comentarios en línea y en línea de C.
Evolución del lenguaje
La evolución de los lenguajes de programación es necesaria y complicada. A todos legítimamente les preocupa que un cambio, sin importar cuán bien intencionado sea, podría romper el código existente y requerir que los usuarios aprendan un nuevo patrón. Power Fx toma en serio la compatibilidad con versiones anteriores, pero el equipo de Power Fx también cree firmemente que no siempre lo conseguirán correctamente la primera vez y que la comunidad puede aprender colectivamente lo que es mejor. Un lenguaje de programación debe evolucionar y Power Fx se diseñó para admitir la evolución del lenguaje desde el principio.
Cada documento guardado de Power Fx incluye una marca de versión de idioma. Si el equipo de Power Fx quiere realizar un cambio incompatible, escribe lo que llama un "convertidor de compatibilidad inversa" que vuelve a escribir automáticamente la fórmula la próxima vez que se edite. Si el cambio es algo importante que el equipo necesita para informar al usuario, la aplicación muestra un mensaje con un vínculo a los documentos. Con esta instalación, Power Fx todavía puede cargar aplicaciones compiladas con las versiones preliminares de Power Apps desde hace muchos años, a pesar de todos los cambios que se han producido desde entonces.
Por ejemplo, el equipo de Power Fx introdujo la ShowError función para mostrar un banner de error con un fondo rojo.
A los usuarios les encantaba, pero también solicitaron una manera de mostrar un banner de éxito (fondo verde) o un banner informativo (fondo azul). Por lo tanto, el equipo ha llegado con una función más genérica Notify que toma un segundo argumento para el tipo de notificación. El equipo podría haber agregado Notify y mantenido ShowError la forma en que era, pero en su lugar reemplazaron ShowError por Notify. Quitaron una función que se encontraba anteriormente en producción y la reemplazaron por otra cosa. Dado que habría habido dos maneras de hacer lo mismo, este cambio habría causado confusión (especialmente para los nuevos usuarios) y, lo más importante, habría agregado complejidad. Nadie se quejó, todos, apreciaron el cambio y luego pasaron a la siguiente función Notificar.
Así es como se ve la misma aplicación cuando se carga en la última versión de Power Apps. El usuario no requirió ninguna acción para que esta transformación ocurriera, se produjo automáticamente cuando se abrió la aplicación.
Con esta instalación, Power Fx puede evolucionar de forma más rápida y agresiva que la mayoría de los lenguajes de programación.
Sin valor indefinido
Algunos lenguajes, como JavaScript, utilizan el concepto de indefinido valor para variables no inicializadas o propiedades faltantes. Por motivos de simplicidad, Power Fx evita este concepto. Las instancias que no estarían definidas en otros idiomas se tratan como un error o como un valor en blanco. Por ejemplo, todas las variables no inicializadas comienzan con un valor en blanco. Todos los tipos de datos pueden tomar el valor de blanco.
Artículos relacionados
Tipos de datos
Operadores e identificadores
Tablas
Variables
Lógica imperativa
Soporte global
Gramática de expresiones
Gramática de fórmulas YAML
Fórmulas en aplicaciones de lienzo