隔離畫布應用程式中的問題
畫布應用程式可讓您設計具有許多不同的視覺效果和各種數據連線的應用程式。 使用 IntelliSense 和 應用程式檢查程式 來防範常見問題。 [監視 ] 和 [ 變數] 面板 可協助您進行偵錯。
以下是在畫布應用程式中隔離問題的一些其他技術。
使用偵錯標籤檢查公式
公式可能相當複雜。 當事情出錯時,很難找出哪個部分失敗。 偵錯標籤是查看公式不同部分結果的實用技術。
偵錯標籤是一個 Label ,其 Text 屬性設定為感興趣的公式。 它可讓您確切查看Power Apps如何處理這些公式。 若要避免範圍錯誤,請將偵錯卷標插入圖庫和表單等其他控制件之外。
假設下拉式方塊控件顯示低於預期,下拉式清單選項為空白。
檢查下拉式方塊是否已正確設定。 例如, Items 屬性會設定為下列複雜公式:
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
從最內層表達式 Filter( Products, Rating > 4 )
開始。 插入偵錯標籤並設定其 Text 屬性,以測試該表達式的結果。 驗證的一些實用資訊:
- 檢查結果數目是否如預期般:
CountRows( Filter( Products, Rating > 4 ) )
- 檢查第一個結果,並確認篩選條件如預期般運作:
"Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
- 結合名稱來檢查結果:
Concat( Filter( Products, Rating > 4 ), ProductName & ", ")
提示
使用數據集時,偵錯數據表對於預覽記錄很有用。 概念類似於偵錯標籤。 插入 Data 數據表,其 Items 屬性設定為感興趣的數據集。
您可能想要使用 FirstN 和 LastN 函式 ,以提升數據集的效能。
確認表示式已正確評估之後,您就可以繼續移至下一個外部運算式 GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )
。 透過以方法方式進行,您可以找出複雜表達式的哪個部分無法運作。
使用空白下拉式清單選項時,請 從 DisplayFields 屬性開始。 假設設定為 [ProductType]
。 使用偵錯標籤來確認Power Apps 可辨識此欄位,並包含文字。 由於所有下拉式清單選項都是空的,所以檢查任何記錄就已足夠。 讓我們挑選第一筆記錄,並查看其 ProductType
欄位是什麼。 將偵錯標籤設定為:
First(
AddColumns(
GroupBy(
Filter( Products, Rating > 4 ),
"ProductType",
"Details"
),
"Total quantity",
Sum( Details, Quantity )
)
).ProductType
如果結果是空的,可能是:
- 該
ProductType
記錄的欄位確實是空的。 如果資料集來自應用程式外部,請在Power Apps外部檢查它。 - 一或多個表達式無法運作。 將它細分為如上所述,以縮小範圍。 可能是 Power Apps Bug 或撰寫公式時發生錯誤。
- 數據無法連線到Power Apps。 這可能是網路問題、數據源的問題,或 Power Apps Bug。
如果結果有文字,則可能是控件的Power Apps Bug。 您可以透過 支援要求 報告 Bug,並使用 不同的控件 作為因應措施。
嘗試不同的控制件
若要找出問題是否與特定控件有關,請嘗試使用不同的具有相同數據類型的輸入或輸出控件。
布林值
Choice 和 Table
Date 和 DateTime
影像和媒體
數字
Text
所有類型
如果相同的問題發生在不同的控件上,則問題在於所使用的公式或數據源。 繼續進行上述偵錯步驟,以進一步找出問題。
如果問題只發生在特定類型的控制件上,則可能是控件錯誤。 您可以將錯誤回報給Microsoft。
嘗試不同的應用程序結構
公式對於另一個控件內的控件可以有不同的行為。 例如,資源庫內的控件可以使用 ThisItem,但資源庫外部的控件則無法使用。 資源庫或元件外部的控件無法參考內部的控制件。
這個不同的標識碼可見度稱為 範圍。 包含其他控制件的控件引進了新的範圍。
如果公式無法在自主控件內運作,它可能會與範圍相關。 請嘗試在容器外部使用相同的公式。
例如,資源庫內的標籤控件應該會顯示每個記錄的名稱,但不會顯示任何文字。 Label.Text 設定為 ThisItem.Name
。 Gallery.Items 設定為 Products
。
若要檢查其是否為範圍問題,請在應用程式最上層,於資源庫外插入偵錯標籤。 設定其 Text 屬性以顯示資料集第一筆記錄的名稱: First(Products).Name
。
偵錯標籤的結果應該與資源庫的第一個數據列相同。 如果沒有,可能是 Power Apps 的範圍錯誤,您可以透過 支援要求回報。 另一方面,如果兩者都是空白的,則問題可能是數據源。
界定問題的一些可能因應措施:
還原至舊版
如果您尚未對應用程式進行重大變更,且應用程式在重新發佈後突然停止運作,請嘗試 將它還原至舊版。 如果再次運作,請檢查所做的變更,以查看應用程式可能已中斷的內容。
有時候,新版本的 Power Apps 可能會引進 Bug。 相反地,新版本可能會帶來 Bug 修正。 Microsoft 支援服務 建議您是否應該還原為較舊的撰寫版本,或升級至較新的版本。 請記住,如果您自行變更撰寫版本,則不支援非建議版本。
建立最少的重現應用程式
建立 最少重現應用程式 的程式可能會發現應用程式設定錯誤,但複雜應用程式並不明顯。 即使問題未修正,您還是會縮小原因,並更輕鬆地向其他人解釋問題。