Ejercicio: Medir en MR y filtrado en Power Apps
En esta unidad, usará algunos de los componentes funcionales clave de Power Apps. Esto incluye la medición en MR y las formas de filtrado. Los usuarios pueden medir la distancia, el área y el volumen en el mundo real con el componente Measure in MR de Power Apps.
Filtrado espacial mediante Measure en MR
La característica Medida en MR se utiliza para filtrar espacialmente los productos que se pueden colocar fácilmente en el mundo real según las medidas recibidas a través de la sesión de medición. Algunas fórmulas básicas se usan para realizar el filtrado.
Vaya a la página Principal. En la pestaña Insertar , expanda la lista desplegable Realidad mixta y seleccione Medir en MR.
Coloque el botón Medida en MR como se muestra en la ilustración y configure las siguientes propiedades:
- Texto: Filtrar por dimensiones
- Unidad de medida: Centímetros
- Tipo de medida: Forma libre
En la página Inicio, agregue una galería seleccionando La galería>vertical. Cambie el nombre de Galería a Measure_gallery.
Coloque la Galería vertical justo debajo del botón Filtrar por dimensiones . Para configurar la propiedad Layout , seleccione Título, Subtítulo y cuerpo.
Configure la propiedad Items del Measure_gallery agregando la siguiente línea:
MeasureInMR1.MeasurementsQuite el Separador y NextArrow. Coloque el título, el subtítulo y el cuerpo equidistantes entre sí, como se muestra en la imagen.
Configure la propiedad Text de las tres etiquetas de la siguiente manera:
Vamos a agregar un icono Volver a cargar para permitir a los usuarios rehacer las medidas si no son felices. En la pestaña Insertar , expanda la lista desplegable Iconos y seleccione el icono Volver a cargar .
Coloque el icono como se muestra en la imagen y configure la propiedad OnSelect de la siguiente manera:
UpdateContext({galleryvisible:false});Sugerencia
Puede personalizar la fuente, el tamaño de fuente y el estilo de fuente para que coincidan con el diseño de la aplicación. Sin embargo, para una mejor experiencia del usuario, mantenga una fuente coherente en toda la aplicación.
Una vez que el componente Measure in MR está totalmente configurado, pasamos al filtrado espacial. Aquí, filtramos espacialmente los productos en función de los valores Width, Depth y Height recibidos en la sesión Measure in MR .
Vaya a la página Productos y configure la propiedad Items del Gallery_products de la siguiente manera:
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
Proporcione los nombres adecuados para la lista de SharePoint y la Galería para evitar tener errores en el futuro. Mantenga los nombres de los componentes en las fórmulas para evitar confusiones.
Nota:
El filtrado espacial no está incluido en la página Alfombras , ya que se agrega otra característica específica del producto. El área medida en la sesión de medición en MR se usará para calcular el precio de la alfombra seleccionada.
Sugerencia
Guarde la aplicación con frecuencia seleccionando la pestaña Archivo en la parte superior y seleccionando la opción Guardar . Si se le solicita, seleccione la opción La nube y, a continuación, seleccione Guardar.
Calcular el precio en función del área
Vaya a la página Carpet_details , agregue una etiqueta y cámbiele el nombre Area_carpets.
Agregue otra etiqueta vacía junto a la etiqueta Area_carpets y, a continuación, configure la propiedad Text de la etiqueta en blanco como se indica a continuación para mostrar el área calculada:
Measure_gallery.Selected.Area&"cm²"Configure la etiqueta junto a la etiqueta Precio como se indica a continuación para mostrar el precio calculado:
"$"&Measure_gallery.Selected.Area * content_carpets.'Price/cm2'
Después de implementar los pasos anteriores, la aplicación filtrará espacialmente los productos y calculará el precio preciso de las alfombras en función de sus medidas reales.














