Ejercicio: Modelar datos con aplicaciones de lienzo
En este ejercicio, modelará los datos de su aplicación de lienzo.
Para completar este ejercicio, necesitará descargar la hoja de cálculo. Seleccione la descarga cuando se abra el vínculo. Extraiga la hoja de cálculo de Excel y cárguela en su propio OneDrive.
Agregar un origen de datos
Inicie sesión en Power Apps.
Cree una nueva aplicación de lienzo de Power Apps desde cero y asígnele el nombre "ShapeData". Seleccione el formato Tableta.
Asegúrese de haber agregado esta hoja de Excel a su OneDrive.
En la pestaña Insertar, seleccione Galería y, a continuación, la opción de galería vertical.
En el panel de propiedades de la derecha, seleccione el menú desplegable de la propiedad Data source.
En el cuadro Buscar, escriba OneDrive para la Empresa y seleccione de la lista OneDrive para la Empresa. También es posible expandir Conectores y desplazarse por todos los conectores disponibles hasta encontrar el conector OneDrive para la Empresa.
Seleccione + Agregar una conexión.
En la parte inferior de OneDrive para la Empresa, seleccione Conectar.
Cuando aparezca Elegir un archivo Excel, vaya al lugar donde guardó el archivo de Excel que descargó en el paso 3 y selecciónelo.
Compruebe la tabla Artículos y seleccione Conectar.
Se ha conectado a la tabla Excel de la lista OneDrive para la Empresa y puede ver los datos en el control Gallery.
Asignar formato a los datos en su galería
Seleccione la galería que ha agregado.
En el panel de propiedades de la derecha, seleccione el menú desplegable de la propiedad Layout.
Seleccione el diseño Imagen, título, subtítulo y cuerpo.
En el panel de propiedades de la derecha, seleccione el botón Editar de la propiedad columnas y establezca los siguientes puntos:
Body1: Descripción
Image2: Imagen
Subtitle2: UnitPrice
Title2: Nombre
Seleccione la X a la derecha de Datos para salir
En la galería, seleccione el precio en la primera fila.
En la barra de fórmulas, asegúrese de que Texto esté seleccionado y escriba lo siguiente.
"$" & ThisItem.UnitPrice
En la galería, seleccione la imagen de la primera fila.
En el panel de propiedades de la derecha, seleccione el menú desplegable de la propiedad Image Position.
Seleccione Rellenar y verá cómo la imagen llena ahora el espacio.
Ahora ya ha configurado los datos de su galería y ha interactuado con ellos.
Filtrar datos en una galería
Seleccione la galería.
Asegúrese de que la propiedad Items esté seleccionada en la barra de fórmulas.
Cambie la expresión a:
Filter(Items, Origin = "China")
Tenga en cuenta que la galería ahora solo muestra dos elementos cuyo origen es China.
Intente hacer lo mismo, pero con el operador Y.
Filter(Items, Origin = "China" And UnitsSold > 25)
Tenga en cuenta que la galería ahora solo muestra un elemento que coincide con los dos criterios anteriores.
Ahora cambiaremos la propiedad Items de nuevo al origen de datos de Items. Revisaremos esta función Filter más adelante.
Items
Usar la función Search
En la pestaña Insertar, seleccione Entrada y luego Entrada de texto. Coloque la entrada de texto sobre la galería.
En el panel izquierdo, en Vista de árbol > Pantallas > Screen1 > seleccione los tres puntos a la derecha y Cambiar el nombre para cambiar el nombre de la entrada de texto a SearchInput. Cambiamos el nombre de este componente para poder consultarlo más adelante.
Ahora seleccione la galería. Asegúrese de que la propiedad Items esté seleccionada en la barra de fórmulas y luego escriba esta expresión:
Search(Items, SearchInput.Text, "Name")
Contiene lo siguiente:
Search(Items...): una función que le permite realizar una consulta más flexible que en una columna de cadena.
SearchInput.Text: recupera el texto introducido en el control de entrada de texto SearchInput.
"Name": indica la columna o columnas en las que se realiza la búsqueda
Esta fórmula devolverá todas las filas donde la columna Name contenga el valor especificado en el control de entrada de texto SearchInput.
Si desea buscar en más de una columna, puede agregar los nombres de las columnas al final de la expresión.
Search(Items, SearchInput.Text, "Name", "Description")
Combinar funciones de modelado de datos
Como se explica en la unidad 3, puede combinar funciones para lograr una funcionalidad más compleja en su aplicación. Ya hemos probado la función Filter, así como la función Search y ahora ha llegado el momento de combinarlas en una sola función.
Comience con la función Search que completamos en el paso anterior.
Reemplace Items por Filter(Items, Origin = "China"), que hará que su expresión tenga el siguiente aspecto:
Search(Filter(Items, Origin = "China"), SearchInput.Text, "Name", "Description")
Para la función Search, la primera opción que se le pide que proporcione es una tabla de datos. La función Filter devuelve una tabla de datos. Esto significa que es posible usar la función Filter como un origen de datos de la función Search. Al agregar esta combinación como fórmula de la propiedad Items de su control Gallery, está mostrando a los usuarios los datos que necesitan con la posibilidad adicional de buscarlos.
En Power Apps, puede recurrir al concepto de utilizar una función para proporcionar información a otra función en muchos lugares.
Mover datos entre colecciones y orígenes de datos
En la pestaña Insertar, seleccione Botón y coloque el botón debajo de su galería.
Cambie el texto del botón a Agregar a colección.
Seleccione el botón y, en la barra de fórmulas, reemplace false por esta expresión:
Collect(ItemsCollection, Items)
ItemsCollection: hace referencia al nombre de la colección
Items: hace referencia al nombre del origen de los datos
Collect: copiará todas las filas de Items en la colección ItemsCollection
Ejecute la aplicación. Seleccione el botón. Deje de ejecutar la aplicación.
En la pestaña Vista, seleccione Colecciones y, a continuación, ItemsCollection. A continuación, verá que todas las filas del origen de datos Items se han agregado a la colección ItemsCollection.
Explorar otras funciones que se puedan usar con Colecciones
En la pestaña Insertar, seleccione Nueva pantalla y, a continuación, En blanco.
En la pestaña Insertar, seleccione Tabla de datos y colóquela junto a la galería.
En la barra de fórmulas, asegúrese de que Items esté seleccionado y escriba ItemsCollection.
De esta forma, el origen de datos de la tabla será la colección ItemsCollection, en lugar de la tabla Elementos de la hoja de Excel.
En el panel de propiedades de la derecha, seleccione el botón Editar columnas para la propiedad columnas.
Seleccione + Agregar columna
Seleccione todas las columnas disponibles y, a continuación, Agregar
Seleccione la X a la derecha de Datos para salir
En la pestaña Insertar, seleccione Botón y coloque el botón debajo de su tabla. Repita este proceso cuatro veces.
Cambie el texto de los cuatro botones a: Agregar columna, Soltar columna, Mostrar columna, Cambiar nombre de columna respectivamente.
Seleccione el botón Agregar columna.
Actualice la barra de fórmulas con esta expresión:
Collect(AddCollection, AddColumns(ItemsCollection, "Revenue", UnitPrice * UnitsSold))
Aquí, hemos creado una nueva colección llamada Agregar colección, que copia todos los datos de la colección Colección de artículos, pero además utilizamos la función AddColumns para agregar una nueva columna llamada Ingresos, que se calcula como Precio unitario * Unidades vendidas.
Seleccione el botón Soltar columna.
Actualice la barra de fórmulas con esta expresión:
Collect(DropCollection, DropColumns(ItemsCollection, "UnitPrice"))
Aquí, hemos creado una nueva colección llamada DropCollection, que copia todos los datos de la colección ItemsCollection, pero además utilizamos la función DropColumns para eliminar la columna UnitPrice.
Seleccione el botón Cambiar nombre de columna.
Actualice la barra de fórmulas con esta expresión:
Collect(RenameCollection, RenameColumns(ItemsCollection, "Name", "Product"))
Aquí, hemos creado una nueva colección llamada RenameCollection, que copia todos los datos de la colección ItemsCollection, pero además utilizamos la función RenameColumns para cambiar el nombre de la columna Name a Product.
Seleccione el botón Mostrar columna.
Actualice la barra de fórmulas con esta expresión:
Collect(ShowCollection, ShowColumns(ItemsCollection, "Name"))
Aquí, hemos creado una nueva colección llamada ShowCollection, que copia todos los datos de la colección ItemsCollection, pero además utilizamos la función ShowColumns para mostrar la columna Name.
Ejecute la aplicación. Seleccione los cuatro botones. Deje de ejecutar la aplicación.
En la pestaña Ver, seleccione Colecciones y luego seleccione cada una de las demás colecciones que ha creado para ver el efecto que han tenido las funciones.