Exercício: trabalhar com dados relacionais do Dataverse

Concluído

A Contoso, como muitas empresas, tem vários locais e permite que os funcionários trabalhem em casa. Ocasionalmente, os funcionários precisam entrar no escritório e usar uma mesa durante a visita. Antes, a Contoso orientava os funcionários a andar pelo escritório na chegada para encontrar uma mesa disponível. A empresa já descobriu que esse tipo de sistema de espaço de trabalho compartilhado, ou hot desking, criou desafios para o suporte e licenciamento de TI. Como resultado, a Contoso criou recentemente uma solução do Microsoft Power Platform que permite que os funcionários vejam quais mesas estão disponíveis e reservem uma com antecedência.

Neste exercício, você aprimorará o aplicativo de tela do Power Apps.

Objetivos

O objetivo deste exercício é aprender a trabalhar com os seguintes relacionamentos:

  • Um para muitos e muitos para um

  • Muitos para muitos

Pré-requisito

Para concluir este exercício, você precisará de um ambiente com o Microsoft Dataverse.

Exercício 1: Importar uma solução

Neste exercício, você importará uma solução inicial para o ambiente de teste e carregará os dados de exemplo usando um fluxo da nuvem do Microsoft Power Automate. Essa solução contém cinco tabelas, um aplicativo de tela, um aplicativo baseado em modelo e um fluxo da nuvem.

Tarefa 1: Importar a solução inicial

Nesta tarefa, você importará uma solução para o seu ambiente.

  1. Será necessário baixar o arquivo zip para realizar este exercício. Selecione baixar quando o link abrir.

  2. Navegue até o Power Apps Maker Portal e selecione o ambiente que deseja usar neste laboratório.

  3. Selecione Soluções > Importar Solução.

  4. Selecione Procurar.

  5. Selecione a solução ContosoHotDesking_1_0_0_0.zip e Abrir.

  6. Selecione Avançar.

  7. Selecione Avançar novamente.

  8. Na lista suspensa Selecionar uma conexão, se suas credenciais já tiverem sido fornecidas, selecione Importar e pule para a Tarefa 2. Caso contrário, selecione + Nova conexão.

  9. Selecione Criar.

  10. Forneça as credenciais.

  11. Feche a janela ou a guia do navegador de conexões.

  12. Selecione Atualizar.

  13. Selecione Importar e aguarde a conclusão da importação da solução.

Tarefa 2: Carregar dados de exemplo

Nesta tarefa, você executará um fluxo da nuvem que criará dados de exemplo.

  1. Selecione Soluções e abra a solução Compartilhamento de Mesa da Contoso que você importou.

  2. Selecione Fluxos da nuvem e clique para abrir o fluxo Load Sample Hot Desk Data.

  3. Quando o fluxo abrir, selecione Executar na barra de comandos.

  4. Selecione Executar fluxo na parte inferior da caixa de diálogo.

  5. Selecione Concluído e aguarde a conclusão da execução do fluxo. Selecione o botão Atualizar para exibir o status de execução do fluxo. Um status Bem-sucedido deve ser exibido quando a execução do fluxo é concluída.

Tarefa 3: Executar aplicativos

Nesta tarefa, você executará os aplicativos Hot Desking Manager e Hot Desking para se familiarizar com eles. Em seguida, você concluirá a configuração dos dados.

  1. Retorne à sua solução ou acesse o Power Apps Maker Portal e selecione o ambiente e a solução que está usando para este laboratório.

  2. Selecione Aplicativos e o aplicativo Hot Desking Manager para inicializá-lo.

  3. Selecione Exibição das mesas e verifique se você tem dados de exemplo.

  4. Selecione Exibição de locais e verifique se você tem dados de exemplo.

  5. Selecione Exibição de Recursos de Mesas e verifique se você tem dados de exemplo.

  6. Selecione Locais, escolha três locais e clique em Editar.

  7. No campo Primary Contact, selecione o usuário e Salvar.

  8. Feche o aplicativo Hot Desking Manager selecionando Voltar.

  9. Verifique se Aplicativos continua selecionado. Selecione o aplicativo Hot Desking e, em seguida, Editar. O aplicativo deve abrir em make.powerapps.com.

  10. Selecione HomeScreen e Reproduzir.

  11. Selecione o botão Nova Reserva.

  12. Selecione Prédio 1, Escritório Fechado e Mesa nº 1.

  13. Selecione uma data futura e, depois, Reservar para 9:00.

  14. Selecione Nova Reserva novamente.

  15. Selecione Prédio 2, Sala do Teams e Mesa nº 2.

  16. Selecione uma data futura e, depois, Reservar para 13:00.

  17. Adicione algumas outras reservas com combinações diferentes.

  18. Você deve ter pelo menos quatro reservas. Feche a visualização selecionando o X na parte superior direita.

  19. Expanda a lista suspensa ReserveDeskScreen, expanda Gallery3 e selecione Button1.

  20. Vá até a barra de fórmulas e revise a fórmula de OnSelect. Quando o usuário seleciona a opção Reservar, uma função Patch() é usada para criar uma linha Reserva. Essa nova linha tem relacionamentos com a mesa e o usuário. O relacionamento de usuário é definido com base em uma variável global estabelecida no aplicativo no início.

  21. Revise outras fórmulas no aplicativo para se familiarizar com o funcionamento do processo.

  22. Selecione o botão Voltar ao concluir a revisão das fórmulas.

  23. Não saia desta página.

Exercício 2: Criar um relacionamento

Neste exercício, você criará um relacionamento para as mesas favoritas. Esse relacionamento será de muitos para muitos entre as tabelas Usuário e Mesa. Esse relacionamento permitirá que você implemente um recurso em que um usuário pode marcar uma mesa como favorita.

Tarefa: Criar um relacionamento

Nesta tarefa, você criará um relacionamento para as mesas favoritas.

  1. Selecione Tabelas.

  2. Selecionar a tabela Desk.

  3. Selecione a opção Relacionamentos no painel Esquema. Selecione + Novo relacionamento e Muitos para muitos.

  4. Encontre/selecione Usuário para (Muitas) Tabelas Relacionadas e selecione Concluído.

  5. Selecione a seta Voltar no canto superior esquerdo.

  6. Retorne à sua solução selecionando Objetos ou Visão geral, no menu do lado esquerdo, e selecione Publicar todas as personalizações na barra de comandos.

  7. Aguarde a conclusão do processo de publicação.

Exercício 3: adicionar informações a uma exibição de reserva

Neste exercício, você alterará a galeria de reserva para mostrar reservas criadas pelo usuário atual, em vez de mostrar todas as reservas. Você também mostrará mais informações sobre a lista de reserva.

Tarefa: Editar o aplicativo

Nesta tarefa, você editará o aplicativo Contoso product manager.

  1. Vá para o Power Apps Maker Portal e retorne ao ambiente e à solução que você está usando neste laboratório.

  2. Selecione Aplicativos, escolha o aplicativo Hot Desking e abra-o no modo Editar.

  3. Expanda HomeScreen e selecione Gallery5.

  4. Vá para a barra de fórmulas e altere a fórmula Itens para a fórmula a seguir. Essa fórmula filtrará uma reserva associada ao usuário atual e usará o relacionamento um para muitos entre o usuário e a tabela de reserva.

    LookUp(Users,'Primary Email'=currentUserEmail).'Reservations (contoso_Reservation_ReservedFor_SystemUser)'

  5. Selecione o ícone Editar da galeria.

  6. Vá para o menu suspenso Inserir e selecione Rótulo de texto.

  7. Depois, altere o valor de Texto para a fórmula a seguir. Essa fórmula usa o relacionamento um para muitos entre as tabelas de reserva e de mesa.

    ThisItem.Desk.Name

  8. Redimensione e reposicione o rótulo.

  9. No modo de edição, selecione para adicionar outro Rótulo.

  10. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir. A fórmula a seguir mostra que você está usando dois níveis de profundidade nos relacionamentos, começando pela reserva e usando a Mesa para obter a Localização.

    ThisItem.Desk.Location.Phone

  11. Redimensione e reposicione o rótulo.

  12. No modo de edição, selecione Rótulo mais uma vez.

  13. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir.

    If(IsBlank(ThisItem.Desk.Location.'Primary Contact'),"No Primary Contact",ThisItem.Desk.Location.'Primary Contact'.'Full Name')

  14. Redimensione e reposicione o rótulo.

    A galeria de reserva agora deve ser semelhante à imagem a seguir.

  15. Selecione Salvar.

  16. Permaneça na tela de edição do aplicativo para o próximo exercício.

Exercício 4: adicionar uma mesa favorita

Neste exercício, você adicionará um ícone que permita que os usuários selecionem mesas favoritas. Você também adicionará um rótulo que mostre os recursos de mesa.

Tarefa: adicionar um favorito

Nesta tarefa, você adicionará uma mesa favorita e um rótulo para mostrar os recursos de mesa.

  1. Expanda FindDeskScreen e selecione GalleryDesks.

  2. Selecione o ícone Editar da galeria.

  3. Vá para a guia Inserir, selecione Ícones e escolha um dos ícones. Você definirá o ícone específico na próxima etapa usando uma fórmula. Portanto, para essa etapa, não importa qual ícone você escolhe.

  4. Selecione o ícone que você adicionou e altere o valor de Ícone para a fórmula a seguir. Essa fórmula mostrará o ícone polegar para cima preenchido se o usuário não tiver indicado essa mesa como favorita, ou mostrará o ícone polegar para cima se o usuário já tiver selecionado a mesa como favorita.

    `If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)`
    
    > [!NOTE]
    > The CountIf encounters a [delegation](/power-apps/maker/canvas-apps/delegation-overview/?azure-portal=true) issue. If you have a large number of rows in your app, you might have to use an alternate approach.
    
  5. Verifique se você ainda tem o ícone selecionado. Selecione OnSelect e cole a fórmula a seguir. Essa fórmula relaciona ou não relaciona esta mesa e o usuário conectado, dependendo se o usuário já adicionou a mesa como favorita.

    If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Unrelate(ThisItem.Users, currentUser), Relate(ThisItem.Users, currentUser))

  6. Reposicione o ícone na galeria, conforme mostrado na imagem a seguir.

  7. Verifique se você ainda está no modo de edição da galeria. Vá para a guia Inserir e selecione Rótulo de texto.

  8. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir. Essa fórmula concatenará os nomes de recursos de mesa e usará o relacionamento muitos para muitos entre as tabelas Desk e Desk Features.

    Concat(ThisItem.'Desk Features', Name, " , " )

  9. Redimensione e reposicione o rótulo para se acomodar melhor no espaço.

  10. Salve o aplicativo.

  11. Selecione Reproduzir para visualizar o aplicativo.

  12. A galeria deve ser semelhante à imagem a seguir. Selecione o ícone polegar para cima de uma das mesas.

  13. O ícone deve ser alterado para polegar para cima. Selecione o ícone novamente.

  14. O ícone deve voltar a mostrar o ícone polegar para cima preenchido. Selecione o ícone novamente.

  15. Feche a versão preliminar.

  16. Não saia desta página.

Exercício 5: Filtrar mesas

Neste exercício, você adicionará um filtro à galeria de mesas se o usuário selecionar um recurso da lista suspensa.

Tarefa: Filtrar recursos

Nesta tarefa, você adicionará um filtro para recursos.

  1. Selecione GalleryDesks.

  2. Vá para a barra de fórmulas e modifique sua fórmula para Itens. Essa fórmula filtra as mesas para mostrar apenas as que têm o recurso selecionado.

    Filter(Desks,Location.Location = FilterLocation.Selected.Location,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk)

  3. Salve as alterações (se necessário).

  4. Selecione Reproduzir para visualizar seu aplicativo.

  5. Anote os recursos de mesa que estão disponíveis para o prédio selecionado.

  6. Selecione um recurso na lista suspensa. Somente as mesas com o recurso selecionado devem ser exibidas.

  7. Selecione prédios e recursos diferentes para ter certeza de que o aplicativo se comporta conforme o esperado.

  8. Feche a versão preliminar.

  9. Feche o designer de aplicativo.