練習 - 在 MR 中測量並在 Power Apps 中篩選

已完成

在本單元中,您將使用 Power Apps 的一些重要功能元件。 這包括「在 MR 中測量」與「篩選方式」。 使用者可以使用 Power Apps 的在 MR 中測量元件來測量真實世界中的距離、區域與體積。

使用「在 MR 中測量」進行空間篩選

在 MR 中測量功能用於在空間上篩選產品,該產品可根據透過測量工作階段收到的度量,輕鬆地放置於真實世界中。 某些基本公式可用於執行篩選。

  1. 瀏覽至 [首頁]。 在 [插入] 索引標籤上,展開 [混合實境] 下拉式清單,並選取 [在 MR 中測量]

    新增 [在 MR 中測量] 的螢幕擷取畫面

  2. 將 [在 MR 中測量] 按鈕置於如下圖所示的位置,並設定下列屬性:

    • Text:依維度篩選
    • 測量單位:公分
    • 測量類型:任意形狀

    設定 [在 MR 中測量] 屬性的螢幕擷取畫面。

  3. 在 [首頁] 上,選取 [資源庫] > [垂直] 來新增 [資源庫]。 將 [資源庫] 的名稱變更為 Measure_gallery

    新增資源庫的螢幕擷取畫面。

  4. 將 [垂直資源庫] 放在 [依維度篩選] 按鈕下方。 選取 [標題、子標題與本文] 來設定 Layout 屬性。

    設定版面配置的螢幕擷取畫面

  5. 藉由新增下面這行文字,設定此 [Measure_gallery]Items 屬性:

    MeasureInMR1.Measurements
    

    資源庫資料來源的螢幕擷取畫面。

  6. 移除 [分隔符號] 與 [NextArrow]。 將 [標題]、[子標題] 與 [本文] 放在彼此等距的位置,如下圖所示。

    彼此等距的螢幕擷取畫面。

  7. 設定這三個標籤的 Text 屬性,如下所示:

    • 標題:

      "Unit: "&ThisItem.Unit
      

      標題文字的螢幕擷取畫面

    • 子標題

      "Area: "&ThisItem.Area&"cm²"
      

      子標題文字的螢幕擷取畫面。

    • 本文

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

      本文的螢幕擷取畫面。

  8. 讓我們新增重新載入圖示,讓使用者在不滿意時重做度量。 在 [插入] 索引標籤上,展開 [圖示] 下拉式清單,並選取重新載入圖示。

    新增重新載入圖示的螢幕擷取畫面。

  9. 將圖示置於影像中,並設定 OnSelect 屬性,如下所示:

    UpdateContext({galleryvisible:false});
    

    針對重新載入圖示設定 OnSelect 的螢幕擷取畫面。

    提示

    您可以自訂字型、字型大小與字型樣式,以符合應用程式的設計。 然而,為了獲得更好的使用者體驗,請在整個應用程式中維持一致的字型。

  10. 完整設定 [在 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))))
    )
    

    設定 Sofas 項目的螢幕擷取畫面。

    重要

    SharePoint 清單與資源庫提供適當的名稱,以避免未來發生錯誤。 維護公式中的元件名稱,以避免混淆。

    注意

    因為已新增產品特定的另一項功能,所以不會包含 [在空間上篩選] 頁面。 在 [在 MR 中測量] 工作階段中測量的區域將用於估計所選地毯的價格。

    提示

    請藉由選取頂端的 [檔案] 索引標籤,然後選取 [儲存] 選項,頻繁地儲存您的應用程式。 若出現提示,請選取 [雲端] 選項,然後選取 [儲存]

根據區域計算價格

  1. 移至 [Carpet_details] 頁面,並新增標籤,然後將其重新命名為 Area_carpets

    新增區域標籤的螢幕擷取畫面

  2. Area_carpets 標籤旁新增另一個空白標籤,然後設定空白標籤的 Text 屬性,如下所示,以顯示計算的區域:

    Measure_gallery.Selected.Area&"cm²"
    

    區域計算的螢幕擷取畫面。

  3. 設定 [價格] 標籤旁的標籤,如下所示,以顯示計算價格:

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

    價格計算的螢幕擷取畫面。

實作上述步驟之後,您的應用程式會在空間上篩選出產品,並根據真實世界的度量來計算準確的地毯價格。

實作 [在 MR 中測量] 與 [在空間上篩選] 之後的應用程式示範動畫。