Exercício – Medida em MR e filtragem no Power Apps
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.
Navegue até a Home page. Na guia Inserir, expanda o menu suspenso Realidade Misturada e selecione Medida em MR.
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
Na Home page, adicione uma Galeria selecionando Galeria>Vertical. Altere o nome da Galeria para Measure_gallery.
Posicione a Galeria Vertical logo abaixo do botão Filtrar por Dimensões. Configure a propriedade Layout selecionando Título, Subtítulo e Corpo.
Configure a propriedade Itens do Measure_gallery adicionando a seguinte linha:
MeasureInMR1.Measurements
Remova o Separador e o NextArrow. Posicione o Título, o Subtítulo e o Corpo equidistantes uns dos outros, conforme mostrado na imagem.
Configure a propriedade Texto desses rótulos da seguinte maneira:
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.
Posicione o ícone conforme mostrado na imagem e configure a propriedade OnSelect do seguinte modo:
UpdateContext({galleryvisible:false});
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.
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)))) )
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
Vá para a página Carpet_details, adicione um Rótulo e renomeie como Area_carpets.
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²"
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'
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.