Usar fórmulas para realizar cálculos
En Power Apps, al igual que en Excel, puede crear fórmulas para calcular y devolver valores. Aquí mostramos una lista de algunas de las funciones que se usan con más frecuencia cuando se trabaja con números y se calculan valores. La sintaxis permite introducir varios números entre paréntesis para cada función, pero en los ejemplos que mostramos abajo solo incluimos dos números.
Average: calcula el promedio, o la media aritmética, de sus argumentos.
- Ejemplo:
Average(3,7)
devuelve 5
- Ejemplo:
Max: encuentra el valor máximo.
- Ejemplo:
Max(3,7)
devuelve 7
- Ejemplo:
Min: encuentra el valor mínimo.
- Ejemplo:
Min(3,7)
devuelve 3
- Ejemplo:
Sum: calcula la suma de sus argumentos.
- Ejemplo:
Sum(3,7)
devuelve 10
- Ejemplo:
StdevP: calcula la desviación estándar de sus argumentos.
- Ejemplo:
StdevP(3,7)
devuelve 2
- Ejemplo:
VarP: calcula la desviación de sus argumentos.
- Ejemplo:
VarP(3,7)
devuelve 4
- Ejemplo:
Incorporar controles en fórmulas
Puede incorporar controles en las fórmulas haciendo referencia al nombre del control en la fórmula.
Por ejemplo, en la siguiente imagen, hemos agregado un control dropdown con la propiedad Items como [1, 2, 3, 4, 5]
. Justo debajo hemos agregado un control de etiqueta con el valor Text: Average(Dropdown1.Selected.Value,7)
. En otras palabras, nuestra fórmula para la etiqueta genera el promedio de cualquier valor en nuestro menú desplegable y el número siete.
Al cambiar el valor desplegable a 5, el valor de la etiqueta cambia a 6 (como se muestra). El uso de referencias de control en las fórmulas hace que la aplicación sea más dinámica.
Usar múltiples controles en la fórmula
Es posible hacer referencia a varios controles en la misma fórmula para proporcionar resultados dinámicos a los usuarios de su aplicación.
En el siguiente ejemplo, explicamos cómo puede crear una experiencia de formulario basada en varias entradas, que genera un mensaje como comentarios para el usuario. Nuestro ejemplo muestra una forma de calcular el coste de una cantidad concreta de un artículo en particular y mostrarlo como un mensaje con información monetaria incluida.
Nota
Mientras sigue estos pasos y la fórmula devuelve un error, recuerde que la configuración de idioma del entorno (o localización) de Power Apps puede influir en algunos separadores y operadores. Por ejemplo, la fórmula Text(ThisItem.Price, "$ ##.00")
se expresa en un idioma y una región que utilizan un punto como separador de decimales como, por ejemplo, Japón o el Reino Unido. Sin embargo, para un idioma y una región donde se usa una coma como separador decimal, como Francia o España, la fórmula sería: Text(ThisItem.Price; "$ ##,00")
.
El operador de selección de propiedad (punto) en ThisItem.Price es siempre el mismo, sin importar cuál sea el separador decimal, pero observe que el separador decimal y el separador de la operación de encadenamiento cambian a coma y punto y coma respectivamente. Internamente, la fórmula no cambia, lo que cambia es cómo la muestra y edita el autor.
En una instancia o pestaña separada del navegador, vaya a make.powerapps.com y cree una nueva aplicación (puede usar la misma aplicación que creó en otra unidad).
Seleccione + Insertar>Etiqueta de texto.
Cambie la propiedad Text por
"Product"
.Agregue tres etiquetas de texto más y colóquelas debajo de su primera etiqueta. Cambie las propiedades de Text
"Quantity"
,"Cost"
y"Total"
, como la siguiente imagen.Sugerencia
Puede cambiar el nombre de la propiedad Text de cada etiqueta haciendo doble clic en el propio control. Al hacer doble clic, se resalta el texto existente en el control y luego, al escribir el texto, se inserta automáticamente el texto en su control de etiqueta (también actualiza su fórmula Power fx, incluidas las comillas).
A continuación, inserte controles Text Input en la aplicación de lienzo y ordénelos como se muestra en la siguiente captura de pantalla.
En la propiedad Default de cada TextInput, elimine "Entrada de texto" para que cada Default quede en blanco.
Inserte otra Etiqueta de texto a la derecha de Total. Cambie el nombre de este control por lblSum.
Cambie la propiedad Text por lo siguiente:
Sum(TextInput2.Text * TextInput3.Text)
(En este ejemplo, TextInput2 es la cantidad comprada y TextInput3 es el coste por producto).
Ahora obtenga una versión preliminar de la aplicación seleccionando el botón Reproducir situado en la esquina superior derecha. Pruebe la fórmula introduciendo
4
para el campo de entrada Cantidad y8.20
para el Coste. Observe que actualmente no mostramos dos decimales (lo cual es normal cuando se representa una divisa) o un signo de divisa, así que modificamos la fórmula para mostrarlos a continuación.Para modificar la fórmula para que muestre el valor como Divisa, actualice la propiedad Text de lblSum para:
Text(Sum(TextInput2.Text * TextInput3.Text),"$#,###0.00")
Observe cómo ahora Total muestra el resultado como una Divisa.
¿Qué acaba de suceder? Le dijimos a nuestra fórmula que agregara un signo de dólar al principio de una fórmula que incluyera una coma en el lugar de los miles, y que pusiera un cero delante de un decimal si el valor era menor que 1, y que agregara dos lugares después del decimal, incluso si el valor era cero.
Llevemos nuestra fórmula un paso más allá agregando un resumen de transacción. Agregue una última Etiqueta de texto bajo los demás controles y estire el ancho para que ocupe al menos la mitad del lienzo de la pantalla. En la propiedad Text, introduzca la fórmula siguiente:
"Your "& TextInput1.Text & " total is: " & lblSum.Text
Donde TextInput1 es el control de entrada de texto junto a Producto
Ponga la aplicación en modo de versión preliminar e introduzca un valor en el control de la entrada de texto, junto a Producto. Observe cómo obtiene un mensaje de resumen de transacción que incorpora los valores de todos los campos de entrada. En nuestro ejemplo, hemos introducido Widget como nombre del producto. Introduzca valores diferentes en los campos de entrada de texto para ver cómo el total y el mensaje de resumen de transacción van cambiando dinámicamente.
Ahora hemos usado tres controles de entrada con la fórmula Sum para calcular un total y mostrar un mensaje de resumen de transacción. Con suerte, puede ver el potencial de usar múltiples controles en fórmulas para proporcionar comentarios dinámicos y relevantes a los usuarios de su aplicación.
A continuación, presentamos cómo podemos usar un control para modificar las propiedades de otros controles, específicamente cómo podemos cambiar la posición de visualización de un control. Por lo tanto, mantenga abierta la aplicación de práctica y pasemos a la siguiente unidad.