Ejercicio: Trabajar con datos relacionales de Dataverse
Contoso, como muchas empresas, tiene varias ubicaciones y permite a los empleados trabajar desde casa. En ocasiones, estos empleados necesitan ir a la oficina y precisan un escritorio para utilizarlo durante la visita. Anteriormente, Contoso indicaba a sus empleados que, al llegar, recorrieran la ubicación de la oficina para buscar un escritorio disponible. Desde entonces, la empresa ha descubierto que este tipo de sistema de espacio de trabajo compartido, o hot desking, implica algunos retos para las licencias y la asistencia de TI. Como resultado, Contoso ha creado recientemente una solución Microsoft Power Platform que permitirá a los empleados ver qué escritorios están disponibles y reservar uno con anticipación.
En este ejercicio, mejorará la aplicación de lienzo desde Power Apps.
Objetivos
El objetivo de este ejercicio es que aprenda a trabajar con las siguientes relaciones:
Uno a varios y varios a uno
Varios a varios
Requisito previo
Para completar este ejercicio, necesitará un entorno con Microsoft Dataverse.
Ejercicio 1: Importar una solución
En este ejercicio, importará una solución inicial al entorno de prueba y cargará datos de ejemplo mediante un flujo de nube de Microsoft Power Automate. Esta solución contiene cinco tablas, una aplicación de lienzo, una aplicación basada en modelo y un flujo de nube.
Tarea 1: Importar la solución inicial
En esta tarea, importará una solución a su entorno.
Para completar este ejercicio, necesitará descargar el archivo ZIP. Seleccione la descarga cuando se abra el vínculo.
Vaya a Power Apps Maker Portal y seleccione el entorno que quiera utilizar para este laboratorio.
Seleccione Soluciones > Importar solución.
Seleccione Examinar.
Seleccione la solución ContosoHotDesking_1_0_0_0.zip y elija Abrir.
Seleccione Siguiente.
Seleccione Siguiente de nuevo.
En la lista desplegable Seleccionar una conexión, seleccione + Nueva conexión.
Seleccione Crear.
Proporcione sus credenciales.
Cierre la ventana o pestaña del explorador de conexiones.
Seleccione Actualizar.
Seleccione Importar y espere a que se complete la importación de la solución.
Tarea 2: Cargar datos de ejemplo
En esta tarea, ejecutará un flujo de nube que creará datos de ejemplo.
Seleccione Soluciones y elija la opción para abrir la solución Espacio de trabajo compartido de Contoso que importó.
Seleccione Flujos de nube y luego seleccione para abrir Cargar flujo de datos de ejemplo de "Hot Desk".
Seleccione Ejecutar.
Seleccione Ejecutar flujo.
Seleccione Listo y espere a que se complete la ejecución del flujo. Seleccione el botón Actualizar para ver el estado de la ejecución del flujo. El estado Correcto debe mostrarse cuando se completa la ejecución del flujo.
Tarea 3: Ejecutar aplicaciones
En esta tarea, ejecutará las aplicaciones Hot Desking Manager y Hot Desking para familiarizarse con ellas. Luego, terminará de configurar los datos.
Vaya a Power Apps Maker Portal y seleccione el entorno que está utilizando para este laboratorio.
Seleccione Aplicaciones y elija la opción para iniciar la aplicación Hot Desking Manager.
Seleccione Mesas y asegúrese de que tiene datos de ejemplo.
Seleccione Ubicaciones y asegúrese de que tiene datos de ejemplo.
Seleccione Características de escritorio y asegúrese de que tiene datos de ejemplo.
Seleccione Ubicaciones, seleccione tres ubicaciones y luego elija Editar.
En el campo Contacto primario, seleccione su usuario y luego elija Cambiar.
Cierre la aplicación Administrador de "Hot Desking".
Asegúrese de que todavía tiene Aplicaciones seleccionado, seleccione la aplicación Hot Desking y seleccione Editar. La aplicación debería abrirse en el estudio de aplicaciones.
> [!div class="mx-imgBorder"] > [![Screenshot of the Edit button highlighted and the Hot Desking application selected.](../media/edit-application.png)](../media/edit-application.png#lightbox)
Seleccione HomeScreen y Reproducir.
Seleccione Nueva reserva.
Seleccione Edificio 1, Oficina cerrada y Mesa n.º 1.
Seleccione una fecha futura y luego seleccione Reservar para 9:00.
Seleccione de nuevo Nueva reserva.
Seleccione Edificio 2, Sala de Teams y Mesa n.º 2.
Seleccione una fecha futura y luego seleccione Reservar para 13:00.
Agregue algunas reservas más con diferentes combinaciones.
Ahora debería tener al menos cuatro reservas. Cierre la vista preliminar.
Expanda la lista desplegable ReserveDeskScreen, expanda Gallery3 y luego seleccione Button1.
Vaya a la fórmula y revise la fórmula de OnSelect. Cuando el usuario selecciona la opción Reservar, se utiliza una función Patch() para crear una nueva fila Reserva. Esta nueva fila tiene relaciones con el escritorio y su usuario. La relación de usuario se establece a partir de una variable global que se establece en la aplicación al inicio.
Revise otras fórmulas en la aplicación para familiarizarse con el funcionamiento del proceso.
Seleccione el botón Atrás cuando haya terminado de revisar las fórmulas.
No se vaya de esta página.
Ejercicio 2: Crear una relación
En este ejercicio, creará una relación para sus escritorios favoritos. Esta relación será una relación de varios a varios entre las tablas Usuario y Escritorio. Esta relación le permitirá implementar una característica con la que un usuario puede etiquetar un escritorio como favorito.
Tarea: Crear una relación
En esta tarea, creará una relación para sus escritorios favoritos.
Seleccione Tablas.
Busque y seleccione la tabla Escritorio.
Seleccione la opción Relaciones, seleccione + Nueva relación y, a continuación, seleccione Varios a varios.
Seleccione Usuario para Tabla relacionada (varios) y luego seleccione Listo.
Seleccione Guardar tabla.
Seleccione Soluciones y luego seleccione Publicar todas las personalizaciones.
Espere a que se complete el proceso de publicación.
Ejercicio 3: Agregar información a una pantalla de reserva
En este ejercicio, cambiará la galería de reservas para mostrar las reservas creadas por el usuario actual en lugar de mostrar todas las reservas. También mostrará más información en la lista de reservas.
Tarea: Editar la aplicación
En esta tarea, editará la aplicación Administrador de productos de Contoso.
Vaya a Power Apps Maker Portal y seleccione el entorno que está utilizando para este laboratorio.
Seleccione Aplicaciones, elija la aplicación Hot Desking y luego seleccione Editar.
Expanda HomeScreen y seleccione Gallery5.
Vaya a la barra de fórmulas y cambie la fórmula Elementos a la siguiente fórmula. Esta fórmula filtrará una reserva que esté asociada con el usuario actual, y utiliza la relación de uno a varios entre el usuario y la tabla de reservas.
LookUp(Users,'Primary Email'=currentUserEmail).'Reservations (contoso_Reservation_ReservedFor_SystemUser)'
Seleccione el icono para editar la galería.
Vaya al menú desplegable Insertar y seleccione Etiqueta de texto.
Luego, cambie el valor de Texto por la siguiente fórmula. Esta fórmula utiliza la relación de uno a varios entre la reserva y las tablas de escritorios.
ThisItem.Desk.Name
Cambie el tamaño y la posición de la etiqueta.
Mientras aún está en modo de edición, seleccione para agregar otra Etiqueta.
Seleccione la etiqueta que agregó y establezca el valor Texto en la fórmula siguiente. La siguiente fórmula muestra que está usando dos niveles de profundidad en las relaciones, comenzando desde la reserva y usando Escritorio para obtener la Ubicación.
ThisItem.Desk.Location.Phone
Cambie el tamaño y la posición de la etiqueta.
Mientras aún está en modo de edición, seleccione Etiqueta una vez más.
Seleccione la etiqueta que agregó y establezca el valor Texto en la fórmula siguiente.
If(IsBlank(ThisItem.Desk.Location.'Primary Contact'),"No Primary Contact",ThisItem.Desk.Location.'Primary Contact'.'Full Name')
Cambie el tamaño y la posición de la etiqueta.
La galería de reservas debería parecerse a la de la imagen siguiente.
Seleccione Archivo > Guardar.
Seleccione el botón Atrás.
No se vaya de esta página.
Ejercicio 4: Agregar un escritorio favorito
En este ejercicio, agregará un icono con el que los usuarios podrán seleccionar sus escritorios favoritos. También agregará una etiqueta que mostrará las características del escritorio.
Tarea: Agregar un favorito
En esta tarea, agregará un escritorio favorito y agregará también una etiqueta para mostrar las características del escritorio.
Expanda FindDeskScreen y seleccione GalleryDesks.
Seleccione el icono para Editar la galería.
Vaya a la pestaña Insertar, seleccione Iconos y, a continuación, seleccione uno de los iconos. Establecerá el icono específico en el siguiente paso mediante el uso de una fórmula. Por lo tanto, para este paso no importa qué icono elija.
Seleccione el icono que agregó y cambie el valor Icono a la fórmula siguiente. Esta fórmula mostrará el icono de pulgares hacia arriba relleno si el usuario no indicó este escritorio como favorito, o mostrará el icono de pulgares hacia arriba si el usuario ya ha seleccionado el escritorio como favorito.
`If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)` > [!NOTE] > The CountIf does encounter [delegation](/power-apps/maker/canvas-apps/delegation-overview/?azure-portal=true) challenges, if you have a large amount of rows in your app you might have to use an alternate approach.
Asegúrese de que aún tiene el icono seleccionado. Seleccione OnSelect y luego pegue la siguiente fórmula. Esta fórmula relacionará o anulará la relación de este escritorio y el usuario que inició sesión, dependiendo de si el usuario ya agregó el escritorio como favorito.
If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Unrelate(ThisItem.Users, currentUser), Relate(ThisItem.Users, currentUser))
Vuelva a colocar el icono en la galería, como se muestra en la siguiente imagen.
Asegúrese de estar todavía en modo de edición de galería. Vaya a la pestaña Insertar y seleccione Etiqueta.
Seleccione la etiqueta que agregó y establezca el valor Texto en la fórmula siguiente. Esta fórmula concatenará los nombres de las características de escritorio y utilizará la relación de varios a varios entre las tablas de características de escritorio y escritorio.
Concat(ThisItem.'Desk Features', Name, " , " )
Cambie el tamaño y la posición de la etiqueta para que se ajuste mejor al espacio.
Seleccione el icono Guardar.
Seleccione el botón Atrás.
Seleccione Reproducir para obtener una vista preliminar de la aplicación.
La galería debería ser similar a la de la imagen siguiente. Seleccione el icono de pulgares hacia arriba de uno de los escritorios.
El icono debería cambiar a pulgar hacia arriba. Seleccione el icono de nuevo.
El icono debería volver a mostrar el icono de pulgares hacia arriba relleno. Seleccione el icono de nuevo.
Cierre la vista preliminar.
No se vaya de esta página.
Ejercicio 5: Filtrar escritorios
En este ejercicio, agregará un filtro a la galería de escritorios si el usuario selecciona una característica de la lista desplegable.
Tarea: Filtrar por características
En esta tarea, agregará un filtro para características.
Seleccione GalleryDesks.
Vaya a la barra de fórmulas y agregue la siguiente fórmula a la fórmula de Elementos. Esta fórmula filtrará los escritorios para mostrar solo los que tengan la característica seleccionada. No olvide incluir la coma.
,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk
Seleccione Archivo > Guardar.
Seleccione el botón Atrás.
Seleccione Reproducir.
Tenga en cuenta las características del escritorio que están disponibles para el edificio seleccionado.
Seleccione una característica en la lista desplegable. Solo se deben mostrar los escritorios que tengan la característica seleccionada.
Seleccione diferentes edificios y características para asegurarse de que la aplicación se comporta como se espera.
Cierre la vista preliminar.
Cierre el diseñador de aplicaciones.