練習 - 在 MR 中測量並在 Power Apps 中篩選
在本單元中,您將使用 Power Apps 的一些重要功能元件。 這包括「在 MR 中測量」與「篩選方式」。 使用者可以使用 Power Apps 的在 MR 中測量元件來測量真實世界中的距離、區域與體積。
使用「在 MR 中測量」進行空間篩選
在 MR 中測量功能用於在空間上篩選產品,該產品可根據透過測量工作階段收到的度量,輕鬆地放置於真實世界中。 某些基本公式可用於執行篩選。
瀏覽至 [首頁]。 在 [插入] 索引標籤上,展開 [混合實境] 下拉式清單,並選取 [在 MR 中測量]。
將 [在 MR 中測量] 按鈕置於如下圖所示的位置,並設定下列屬性:
- Text:依維度篩選
- 測量單位:公分
- 測量類型:任意形狀
在 [首頁] 上,選取 [資源庫] > [垂直] 來新增 [資源庫]。 將 [資源庫] 的名稱變更為 Measure_gallery。
將 [垂直資源庫] 放在 [依維度篩選] 按鈕下方。 選取 [標題、子標題與本文] 來設定 Layout 屬性。
藉由新增下面這行文字,設定此 [Measure_gallery] 的 Items 屬性:
MeasureInMR1.Measurements
移除 [分隔符號] 與 [NextArrow]。 將 [標題]、[子標題] 與 [本文] 放在彼此等距的位置,如下圖所示。
設定這三個標籤的 Text 屬性,如下所示:
讓我們新增重新載入圖示,讓使用者在不滿意時重做度量。 在 [插入] 索引標籤上,展開 [圖示] 下拉式清單,並選取重新載入圖示。
將圖示置於影像中,並設定 OnSelect 屬性,如下所示:
UpdateContext({galleryvisible:false});
提示
您可以自訂字型、字型大小與字型樣式,以符合應用程式的設計。 然而,為了獲得更好的使用者體驗,請在整個應用程式中維持一致的字型。
完整設定 [在 MR 中測量] 元件之後,我們就會移至 [在空間上篩選]。 此處,我們會根據 [在 MR 中測量] 工作階段中收到的寬度、深度與高度值,在空間上篩選產品。
巡覽至 [產品] 頁面,然後設定 [Gallery_products] 的 Items 屬性,如下所示:
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)))) )
重要
為 SharePoint 清單與資源庫提供適當的名稱,以避免未來發生錯誤。 維護公式中的元件名稱,以避免混淆。
注意
因為已新增產品特定的另一項功能,所以不會包含 [在空間上篩選] 頁面。 在 [在 MR 中測量] 工作階段中測量的區域將用於估計所選地毯的價格。
提示
請藉由選取頂端的 [檔案] 索引標籤,然後選取 [儲存] 選項,頻繁地儲存您的應用程式。 若出現提示,請選取 [雲端] 選項,然後選取 [儲存]。
根據區域計算價格
移至 [Carpet_details] 頁面,並新增標籤,然後將其重新命名為 Area_carpets。
在 Area_carpets 標籤旁新增另一個空白標籤,然後設定空白標籤的 Text 屬性,如下所示,以顯示計算的區域:
Measure_gallery.Selected.Area&"cm²"
設定 [價格] 標籤旁的標籤,如下所示,以顯示計算價格:
"$"&Measure_gallery.Selected.Area * content_carpets.'Price/cm2'
實作上述步驟之後,您的應用程式會在空間上篩選出產品,並根據真實世界的度量來計算準確的地毯價格。