小型資料承載 - 限制您所取得的資料量
企業資料應用程式最重要的模式之一是限制您在 Power Apps 所擷取的資料大小。 如果資料的承載很小,則幾乎其他一切都會變得更容易。 當您直接連接到 Items 屬性中的資料來源時,資源庫和表格控制項會自動為您執行此操作。 例如,直接連接到遠端資料來源時,資源庫控制項會以小增量 (例如 100 筆記錄) 分頁資料。 此預設值利用了一個事實:終端使用者很少真正需要超過一百筆記錄來執行使用者任務。
使用委派
保持資料承載較小的關鍵方法是在到達 Power Apps之前,依靠資料來源為您完成工作。 委派 是指 Power Fx 可以將 Power Fx 運算式轉換為資料來源,例如 Dataverse、SQL Server、SharePoint 和 Excel 可以自行處理的的查詢運算式。 然後 Power Fx 將該查詢委派給資料來源,或將執行查詢工作、資料混搭的責任交給資料來源。 資料來源產生正確的資料並將其傳回 Power Apps。
當資料來源直接綁定到資料庫或表格時,資料將以 100 筆記錄的小效能增量進行分頁或傳回 Power Apps 。 不同的資料來源有不同的功能。 例如,Dataverse 與 Excel 相比,具有更多的功能來篩選伺服器上的資料。 CountRows 和 CountIf 就是很好的例子。 Dataverse 以有限的方式支援 CountRows。 Dataverse 會定期計算表格的大小並保留該值。 呼叫 CountRows 時,您將獲得該值。 這樣,它就不必執行全表掃描來取得每個 CountRows 呼叫的確切數字。 但 Dataverse 也支援 CountIf 最多 50,000 列的精確計數。 它提供這兩種不同的功能來幫助保持 Dataverse 伺服器的良好效能。 相反地, SharePoint 不支援此函式。 因此,對於 SharePoint,帶有 CountRows 或 CountIf for 的 Power Fx 運算式不會被委派。 相反地, Power Apps 會下載數量有限的列 ( 500–2000)。 Power Fx 在本機處理 500/2000 筆記錄並傳回結果。 如果您的資料始終少於 500/2000 筆記錄,則此方法可行。 但如果它超過 500/2000 筆記錄,您可能會得到不正確的結果。
避免過多資料行
根據預設, Power Apps 使用功能呼叫明確資料行選取,會計算給定查詢所需的實際行。 此功能預設會在所有新應用程式中啟用。 若要在畫布應用程式上開啟明確資料行選取功能,請移至設定 > 即將推出的功能 > 預覽> 開啟明確資料行選取切換開關。
建議
為了實現小資料承載的目標,請考慮以下問題和建議:
目標是資源庫或表格的預設查詢僅傳回約 100–200 筆記錄。 如果您使用可委派查詢,這會自動發生。 如果您正在查詢 API 或其他不支援委派的來源,請使用參數來精修結果。
- 考慮使用基於資料來源的檢視表來自動篩選資料。 大多數企業級應用程式會大量使用資料來源上的檢視表。
- 考慮使用預設查找或篩選條件值來確定資料範圍。
- 在您顯示資料前,請考慮在 UI 中要求搜尋引數。
- 考慮這些與您的應用程式相關的問題:
- 預設給定畫面上需要什麼?
- 什麼資料是終端使用者要採取給定業務行動時,真正需要的?
- 使用者通常不需要在初始畫面上顯示數千筆記錄來完成工作。
使用資料來源的委派表,開始建置資源庫或表格的查詢。 僅選擇您的查詢支援的功能。 如果您的查詢不可委派,可以採取什麼措施使其可委派呢?