Ejercicio: Modelar datos con aplicaciones de lienzo
En este ejercicio, modelará los datos de su aplicación de lienzo.
Para realizar el ejercicio, tendrá que 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.
Seleccione + Crear en el lado izquierdo.
Seleccione Comenzar con un lienzo en blanco.
Seleccione el tamaño Tableta.
Seleccione el icono Guardar en la esquina superior derecha y asígnele el nombre "ShapeData".
Compruebe que ha añadido esta hoja de Excel a su OneDrive.
En el menú desplegable Insertar, seleccione Galería vertical.
En el cuadro Buscar del menú emergente que aparecerá, escriba OneDrive para la Empresa y seleccione OneDrive para la Empresa en la lista. 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 texto 8 Selected violeta, junto a la propiedad Campos, y configure los siguientes puntos:
Body1: Descripción
Image2: Imagen
Subtitle2: UnitPrice
Title2: Name
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
Haga una selección dentro de 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, con el origen 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. Volveremos a esta función Filter más adelante.
Items
Uso de la función Search
En la pestaña desplegable Insertar, seleccione 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 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 de cadena, puede agregar los nombres de las columnas al final de la expresión. En la siguiente fórmula, hemos agregado "Descripción".
Search(Items, SearchInput.Text, Name, Description)
Combinar funciones de modelado de datos
Como se ha explicado 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 y la función Search; 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 del control de galería, está mostrando a los usuarios los datos que necesitan y les da también la posibilidad de buscar.
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
Introduzca un control de botón seleccionando el menú desplegable Insertar. Luego, seleccione Botón y coloque el botón debajo de la 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.
Reproduzca (en vista previa) la aplicación con el icono de reproducción, en la esquina superior derecha. Pulse el botón Agregar a colección. Cierre la vista previa de la reproducción seleccionando X en la esquina superior derecha.
Seleccione la pestaña Variables en el lado izquierdo, expanda Colecciones y seleccione ItemsCollection. A continuación, verá que todas las filas del origen de datos Items se han añadido a la colección ItemsCollection.
En el menú desplegable 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 Items de la hoja de Excel.
En el panel de propiedades de la derecha, vamos a ajustar los campos seleccionando el texto violeta 2 Selected junto a la propiedad Fields.
Seleccione + Agregar campo.
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 y 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, y hemos usado la función ShowColumns para mostrar la columna Name.
Reproduzca (en vista previa) la aplicación con el icono de reproducción, en la esquina superior derecha. Pulse los cuatro botones. Cierre la vista previa de la reproducción seleccionando X en la esquina superior derecha.
Seleccione la pestaña Variables en el lado izquierdo y expanda Colecciones; verá las colecciones con los resultados de seleccionar los botones.
Esperamos que entienda ahora todo el potencial del modelado de datos en la aplicación.