Exercício – Medida em MR e filtragem no Power Apps

Concluído

Nesta unidade, você usará alguns dos principais componentes funcionais do Power Apps. Isso inclui a Medida em MR e os meios de filtragem. Os usuários podem medir a distância, a área e o volume no mundo real com o componente Medida em MR do Power Apps.

Filtragem espacial usando a Medida em MR

O recurso Medida em MR é usado para filtrar espacialmente os produtos que podem ser facilmente colocados no mundo real de acordo com as medidas recebidas por meio da sessão de medição. Algumas fórmulas básicas são usadas para executar a filtragem.

  1. Navegue até a Home page. Na guia Inserir, expanda o menu suspenso Realidade Misturada e selecione Medida em MR.

    Captura de tela da adição da Medida em MR

  2. Posicione o botão Medida em MR, conforme mostrado na figura e configure as seguintes propriedades:

    • Texto: Filtrar por Dimensões
    • Unidade de medida: Centímetros
    • Tipo de medida: Forma livre

    Captura de tela da configuração das propriedades da Medida em MR.

  3. Na Home page, adicione uma Galeria selecionando Galeria>Vertical. Altere o nome da Galeria para Measure_gallery.

    Captura de tela da adição da galeria.

  4. Posicione a Galeria Vertical logo abaixo do botão Filtrar por Dimensões. Configure a propriedade Layout selecionando Título, Subtítulo e Corpo.

    Captura de tela da configuração do layout

  5. Configure a propriedade Itens do Measure_gallery adicionando a seguinte linha:

    MeasureInMR1.Measurements
    

    Captura de tela da fonte de dados da galeria.

  6. Remova o Separador e o NextArrow. Posicione o Título, o Subtítulo e o Corpo equidistantes uns dos outros, conforme mostrado na imagem.

    Captura de tela do posicionamento equidistante.

  7. Configure a propriedade Texto desses rótulos da seguinte maneira:

    • Título:

      "Unit: "&ThisItem.Unit
      

      Captura de tela do texto do título

    • Subtítulo:

      "Area: "&ThisItem.Area&"cm²"
      

      Captura de tela do texto do subtítulo.

    • Corpo:

      "Height: "&ThisItem.Height&"cm"
      

      Captura de tela do texto do corpo.

  8. Vamos adicionar um ícone Recarregar para permitir que os usuários refaçam as medidas se não estiverem satisfeitos. Na guia Inserir, expanda o menu suspenso Ícones e selecione o ícone Recarregar.

    Captura de tela da adição do ícone de recarregamento.

  9. Posicione o ícone conforme mostrado na imagem e configure a propriedade OnSelect do seguinte modo:

    UpdateContext({galleryvisible:false});
    

    Captura de tela da configuração do OnSelect para o ícone de recarregamento.

    Dica

    Você pode personalizar a fonte, o tamanho da fonte e o estilo da fonte para corresponder ao design do aplicativo. No entanto, certifique-se de manter a fonte consistente em todo o aplicativo para uma melhor experiência do usuário.

  10. Depois que o componente Medida em MR estiver totalmente configurado, passaremos para a Filtragem espacial. Aqui, filtramos espacialmente os produtos com base nos valores de Largura, Profundidade e Altura recebidos na sessão de Medida em MR.

    Navegue até a página Produtos e configure a propriedade Itens de Gallery_products, da seguinte maneira:

    If(
    ID = 1 And Measure_gallery.Selected.Height = 0,
    (Filter('Easy Sales',(ProductCategory = "Sofa") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))),
    ID = 1 And Measure_gallery.Selected.Height > 0,
    (Filter('Easy Sales',(ProductCategory = "Sofa") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height)))),
    ID = 1,
    Filter('Easy Sales',ProductCategory = "Sofa"), 
    
    ID = 2,
    Filter('Easy Sales',ProductCategory = "Chair"), 
    ID = 2 And Measure_gallery.Selected.Height = 0,
    (Filter('Easy Sales',(ProductCategory = "Chair") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))),
    ID = 2 And Measure_gallery.Selected.Height > 0,
    (Filter('Easy Sales',(ProductCategory = "Chair") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height)))),
    
    ID = 3,
    Filter('Easy Sales',ProductCategory = "Table"),
    ID = 3 And Measure_gallery.Selected.Height = 0,
    (Filter('Easy Sales',(ProductCategory = "Table") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))),
    ID = 3 And Measure_gallery.Selected.Height > 0,
    (Filter('Easy Sales',(ProductCategory = "Table") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height))))
    )
    

    Captura de tela da configuração de itens em sofás.

    Importante

    Forneça os nomes apropriados para a lista do SharePoint e a Galeria para evitar erros no futuro. Mantenha os nomes dos componentes nas fórmulas para evitar confusão.

    Observação

    A Filtragem Espacial não está incluída para a página Tapetes, já que outro recurso específico ao produto foi adicionado. A área medida na sessão Medida em MR será usada para estimar o preço do tapete selecionado.

    Dica

    Salve seu aplicativo com frequência selecionando a guia Arquivo na parte superior e a opção Salvar. Se solicitado, selecione a opção A nuvem e depois Salvar.

Calcular o preço com base na área

  1. Vá para a página Carpet_details, adicione um Rótulo e renomeie como Area_carpets.

    Captura de tela da adição do rótulo de área

  2. Adicione outro Rótulo vazio ao lado do rótulo Area_carpets e configure a propriedade Texto do rótulo em branco do seguinte modo para exibir a área calculada:

    Measure_gallery.Selected.Area&"cm²"
    

    Captura de tela do cálculo de área.

  3. Configure o rótulo ao lado do rótulo Preço do seguinte modo para exibir o preço calculado:

    "$"&Measure_gallery.Selected.Area * content_carpets.'Price/cm2'
    

    Captura de tela do cálculo de preço.

Depois que você implementar as etapas acima, o aplicativo filtrará espacialmente os produtos e calculará o preço preciso dos tapetes e dos carpetes com base nas medidas do mundo real.

Animação da demonstração de aplicativo após a implementação da medida na filtragem espacial e mr.