Ejercicio: Medir en MR y filtrado en Power Apps
En este módulo, va a usar algunos de los componentes funcionales clave de Power Apps. Esto incluye Medir en MR y Formas de filtrado. Los usuarios pueden medir la distancia, el área y el volumen en el mundo real con el componente Medir en MR de Power Apps.
Filtrado espacial con Medir en MR
La característica Medir en MR se usa para filtrar espacialmente los productos que se pueden colocar fácilmente en el mundo real según las medidas recibidas mediante 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 Mixed Reality y seleccione Medir en MR.
Coloque el botón Medir en MR tal como se muestra en la ilustración y configure las propiedades siguientes:
- Texto: filtrar por dimensiones
- Unidad de medida: centímetros
- Tipo de medida: formato libre
En la Página principal, agregue una Galería seleccionando Galería>Vertical. Cambie el nombre de la Galería a Measure_gallery.
Coloque la Galería vertical justo debajo del botón Filtrar por dimensiones. Configure la propiedad Diseño seleccionando Título, Subtítulo y cuerpo.
Configure la propiedad Elementos de Measure_gallery agregando la línea siguiente:
MeasureInMR1.Measurements
Quite el Separador y NextArrow. Coloque el Título, el Subtítulo y el Cuerpo equidistantes entre sí, tal como se muestra en la imagen.
Configure la propiedad Texto de las tres etiquetas de la siguiente manera:
Vamos a agregar un icono Recargar para permitir que los usuarios vuelvan a realizar las medidas si no están satisfechos. En la pestaña Insertar, expanda la lista desplegable Iconos y seleccione Recargar.
Coloque el icono tal 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 Medir en MR esté totalmente configurado, pasaremos al Filtrado espacial. Aquí vamos a filtrar espacialmente los productos en función de los valores Anchura, Profundidad y Altura recibidos en la sesión Medir en MR.
Vaya a la página Productos y después, configure la propiedad Elementos de 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 a fin de evitar errores en el futuro. Mantenga los nombres de los componentes en las fórmulas para evitar confusiones.
Nota:
El filtrado espacial no se incluye en la página Alfombras, ya que se agrega otra característica específica del producto. El área medida en la sesión de Medir en MR se usará para calcular el precio de la alfombra seleccionada.
Sugerencia
Para guardar la aplicación con frecuencia, seleccione la pestaña Archivo situada en la parte superior y la opción Guardar. Si se le solicita, seleccione la opción La nube y después Guardar.
Cálculo del precio en función del área
Vaya a la página Carpet_details, después agregue una Etiqueta y cambie su nombre por Area_carpets.
Agregue otra Etiqueta vacía junto a la etiqueta Area_carpets y después configure la propiedad Texto de la etiqueta en blanco de la siguiente manera para mostrar el área calculada:
Measure_gallery.Selected.Area&"cm²"
Configure la etiqueta junto a la etiqueta Precio de la siguiente manera 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 las medidas del mundo real.