Ejercicio: Trabajar con datos relacionales de Dataverse

Completado

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.

  1. Para completar este ejercicio, necesitará descargar el archivo ZIP. Seleccione la descarga cuando se abra el vínculo.

  2. Vaya a Power Apps Maker Portal y seleccione el entorno que quiera utilizar para este laboratorio.

  3. Seleccione Soluciones > Importar solución.

    Captura de pantalla del botón Importar solución

  4. Seleccione Examinar.

  5. Seleccione la solución ContosoHotDesking_1_0_0_0.zip y elija Abrir.

  6. Seleccione Siguiente.

  7. Seleccione Siguiente de nuevo.

  8. En la lista desplegable Seleccionar una conexión, seleccione + Nueva conexión.

    Captura de pantalla del botón Nueva conexión en la lista desplegable Seleccionar una conexión

  9. Seleccione Crear.

  10. Proporcione sus credenciales.

  11. Cierre la ventana o pestaña del explorador de conexiones.

  12. Seleccione Actualizar.

  13. 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.

  1. Seleccione Soluciones y elija la opción para abrir la solución Espacio de trabajo compartido de Contoso que importó.

  2. Seleccione Flujos de nube y luego seleccione para abrir Cargar flujo de datos de ejemplo de "Hot Desk".

    Captura de pantalla del botón Cargar flujo de datos de ejemplo de

  3. Seleccione Ejecutar.

  4. Seleccione Ejecutar flujo.

  5. 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.

    Captura de pantalla del botón Actualizar

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.

  1. Vaya a Power Apps Maker Portal y seleccione el entorno que está utilizando para este laboratorio.

  2. Seleccione Aplicaciones y elija la opción para iniciar la aplicación Hot Desking Manager.

    Captura de pantalla del vínculo Administrador de

  3. Seleccione Mesas y asegúrese de que tiene datos de ejemplo.

  4. Seleccione Ubicaciones y asegúrese de que tiene datos de ejemplo.

  5. Seleccione Características de escritorio y asegúrese de que tiene datos de ejemplo.

  6. Seleccione Ubicaciones, seleccione tres ubicaciones y luego elija Editar.

    Captura de pantalla de tres ubicaciones seleccionadas en la lista desplegable Ubicaciones activas, con el botón Editar resaltado

  7. En el campo Contacto primario, seleccione su usuario y luego elija Cambiar.

    Captura de pantalla del campo Contacto primario, con el usuario seleccionado

  8. Cierre la aplicación Administrador de "Hot Desking".

  9. 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)
    
  10. Seleccione HomeScreen y Reproducir.

  11. Seleccione Nueva reserva.

  12. Seleccione Edificio 1, Oficina cerrada y Mesa n.º 1.

    Captura de pantalla del formulario de reserva de

  13. Seleccione una fecha futura y luego seleccione Reservar para 9:00.

  14. Seleccione de nuevo Nueva reserva.

  15. Seleccione Edificio 2, Sala de Teams y Mesa n.º 2.

  16. Seleccione una fecha futura y luego seleccione Reservar para 13:00.

  17. Agregue algunas reservas más con diferentes combinaciones.

  18. Ahora debería tener al menos cuatro reservas. Cierre la vista preliminar.

    Captura de pantalla del botón para cerrar la vista preliminar de la aplicación de lienzo

  19. Expanda la lista desplegable ReserveDeskScreen, expanda Gallery3 y luego seleccione Button1.

    Captura de pantalla del control Button1 en la lista desplegable ReserveDeskScreen

  20. 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.

    Captura de pantalla del botón OnSelect y su fórmula

  21. Revise otras fórmulas en la aplicación para familiarizarse con el funcionamiento del proceso.

  22. Seleccione el botón Atrás cuando haya terminado de revisar las fórmulas.

    Captura de pantalla del botón Atrás para regresar a las aplicaciones

  23. 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.

  1. Seleccione Tablas.

  2. Busque y seleccione la tabla Escritorio.

    Captura de pantalla de la tabla Escritorio

  3. Seleccione la opción Relaciones, seleccione + Nueva relación y, a continuación, seleccione Varios a varios.

    Captura de pantalla de la relación de varios a varios seleccionada

  4. Seleccione Usuario para Tabla relacionada (varios) y luego seleccione Listo.

  5. Seleccione Guardar tabla.

  6. Seleccione Soluciones y luego seleccione Publicar todas las personalizaciones.

  7. 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.

  1. Vaya a Power Apps Maker Portal y seleccione el entorno que está utilizando para este laboratorio.

  2. Seleccione Aplicaciones, elija la aplicación Hot Desking y luego seleccione Editar.

    Captura de pantalla del botón Editar aplicación para la aplicación Hot Desking

  3. Expanda HomeScreen y seleccione Gallery5.

  4. 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)'

    Captura de pantalla de la fórmula de elementos

  5. Seleccione el icono para editar la galería.

    Captura de pantalla del botón del icono Editar para editar la galería

  6. Vaya al menú desplegable Insertar y seleccione Etiqueta de texto.

  7. 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

  8. Cambie el tamaño y la posición de la etiqueta.

    Captura de pantalla del control de etiqueta para cambiar el tamaño y la posición

  9. Mientras aún está en modo de edición, seleccione para agregar otra Etiqueta.

  10. 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

  11. Cambie el tamaño y la posición de la etiqueta.

    Captura de pantalla de la posición del control de etiqueta

  12. Mientras aún está en modo de edición, seleccione Etiqueta una vez más.

  13. 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')

  14. 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.

    Captura de pantalla de la galería de reservas

  15. Seleccione Archivo > Guardar.

  16. Seleccione el botón Atrás.

  17. 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.

  1. Expanda FindDeskScreen y seleccione GalleryDesks.

  2. Seleccione el icono para Editar la galería.

    Captura de pantalla del botón para editar la galería

  3. 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.

  4. 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.
    
  5. 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))

  6. Vuelva a colocar el icono en la galería, como se muestra en la siguiente imagen.

    Captura de pantalla de la posición del icono

  7. Asegúrese de estar todavía en modo de edición de galería. Vaya a la pestaña Insertar y seleccione Etiqueta.

  8. 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, " , " )

  9. Cambie el tamaño y la posición de la etiqueta para que se ajuste mejor al espacio.

  10. Seleccione el icono Guardar.

  11. Seleccione el botón Atrás.

  12. Seleccione Reproducir para obtener una vista preliminar de la aplicación.

  13. 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.

    Captura de pantalla del icono de escritorio de pulgar hacia arriba

  14. El icono debería cambiar a pulgar hacia arriba. Seleccione el icono de nuevo.

    Captura de pantalla del icono de escritorio de pulgar hacia arriba cambiado

  15. El icono debería volver a mostrar el icono de pulgares hacia arriba relleno. Seleccione el icono de nuevo.

  16. Cierre la vista preliminar.

  17. 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.

  1. Seleccione GalleryDesks.

  2. 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

    Captura de pantalla del área de edición de la fórmula

  3. Seleccione Archivo > Guardar.

  4. Seleccione el botón Atrás.

  5. Seleccione Reproducir.

  6. Tenga en cuenta las características del escritorio que están disponibles para el edificio seleccionado.

    Captura de pantalla de las características de escritorio

  7. Seleccione una característica en la lista desplegable. Solo se deben mostrar los escritorios que tengan la característica seleccionada.

    Captura de pantalla de los escritorios filtrados.

  8. Seleccione diferentes edificios y características para asegurarse de que la aplicación se comporta como se espera.

  9. Cierre la vista preliminar.

  10. Cierre el diseñador de aplicaciones.