Exercício - Medir em MR e filtrar no Power Apps

Concluído

Nesta unidade, você usará alguns dos principais componentes funcionais do Power Apps. Isso inclui Medir em MR e métodos de filtragem. Os usuários podem medir distância, área e volume no mundo real com o componente Measure in MR do Power Apps.

Filtragem espacial usando Measure in MR

O recurso Measure in MR é usado para filtrar espacialmente os produtos que podem ser facilmente colocados no mundo real de acordo com as medições recebidas durante a sessão de medição. Algumas fórmulas básicas são usadas para realizar a filtragem.

  1. Navegue até à página inicial do . Na guia Inserir, expanda a lista suspensa Realidade Mista e selecione Medir em RM.

    Captura de tela para adicionar Medida no MR

  2. Posicione a medida no botão MR conforme mostrado na figura e configure as seguintes propriedades:

    • Texto: Filtrar por dimensões
    • Unidade de medida: Centímetros
    • Tipo de medição: Freeform

    Captura de tela para configurar as propriedades de Measure no MR.

  3. No Home page , adicione um Galeria selecionando a Galeria >Vertical . Altere o nome do Galeria para Measure_gallery.

    Captura de tela para adicionar 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 para configurar o layout

  5. Configure a propriedade Items doMeasure_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, Subtítuloe Corpo equidistantes uns dos outros, conforme mostrado na imagem.

    Captura de tela de posicionamento equidistante.

  7. Configurar a propriedade Text dos três 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 da legenda.

    • Corpo:

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

      Captura de tela do corpo do texto.

  8. Vamos adicionar um ícone Recarregar para permitir que os usuários refaçam as medições se não estiverem satisfeitos. Na guia Inserir, expanda a lista suspensa Ícones e selecione o ícone Recarregar.

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

  9. Posicione o ícone como mostrado na imagem e configure a propriedade OnSelect da seguinte maneira:

    UpdateContext({galleryvisible:false});
    

    Captura de ecrã da configuração do ícone de recarregar no OnSelect.

    Dica

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

  10. Depois que o componente Medida de em MR estiver totalmente configurado, passamos para a filtragem espacial de . Aqui, filtramos espacialmente os produtos com base nos valores Width, Depthe Height recebidos na sessão Measure in MR.

    Navegue até a página Produtos, depois configure a propriedade Itens do Gallery_products da seguinte forma:

    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 nos sofás.

    Importante

    Forneça nomes apropriados para a lista SharePoint e Gallery 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 na página Tapetes, uma vez que foi adicionada outra funcionalidade específica do produto. A área medida na Medida na sessão de RM será usada para estimar o preço do tapete selecionado.

    Dica

    Salve seu aplicativo com freqüência, selecionando a guia File na parte superior e selecionando a opção Salvar. Se solicitado, selecione a opção A nuvem e, em seguida, selecione Salvar.

Calcular o preço com base na área

  1. Aceda à página Carpet_details, adicione um Rótuloe, em seguida, renomeie-o para Area_carpets.

    Captura de ecrã a mostrar a adição de etiquetas de área

  2. Adicione outro rótulo vazio ao lado do rótulo Area_carpets e, em seguida, configure a propriedade Text do rótulo em branco da seguinte forma 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 da seguinte forma para exibir o preço calculado:

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

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

Depois de implementar as etapas acima, seu aplicativo filtrará espacialmente os produtos e calculará o preço exato dos tapetes com base em suas medições do mundo real.

Animação de demonstração de aplicação após implementação de medida em mr e filtragem espacial.