Power Apps 畫布應用中非可委派函式查詢數量限制

shuzhen.yu發表於2021-07-29

本文介紹:

Power Apps 中的委派函式和非可委派函式。

現象:

在Power Apps中顯示某些資料來源時,如果資料量超過 500,則可能遇到現實不全的情況,實際上大部分是由於 委派函式 和 非可委派函式 使用不合適導致的。

所謂委派函式,是指實際的資料查詢是由資料來源完成的,比如 power apps 呼叫 filter 函式 查詢了 SQL資料庫或者 Share Point,實際的查詢是在資料來源側也就是SQL或Share Point 執行的。這時候的返回值可以是超過500條資料的。

為什麼提到500這個數字,是因為Power Apps畫布應用的一個預設配置:

開啟某個Power Apps的編輯模式,檔案選單-設定-資料行限制,該值預設是500,最大可以調整到2000。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

注意,該值的配置是針對非可委派函式的,比如下方的函式,均為非可委派函式:

 

非可委派函式

所有其他函式都不支援委派,包括以下重要函式:

使用這些函式從SQL或Share Point List查詢資料,則會受 500 這個值的限制。

官網中對此限制的描述如下:

顯然,使用此工具時必須小心,因為這可能會讓使用者感到困惑。 例如,假設有一個 Filter 函式,其選擇公式不能委派,需要對有一百萬條記錄的資料來源應用該函式。 由於本地進行篩選,因此僅掃描了前 500 條記錄。 如果所需記錄是第 501 或第 500,001 個記錄,則 Filter 不會考慮或返回該記錄。

即資料庫中明明有幾千條資料,但使用了上述非可委派函式,導致資料只查出了 500條,導致業務邏輯混亂。

這個值可以改成最大2000,但官網也給出了說明:

在某些情況下,您會發現 2,000(或者 1,000 或 1,500)即可滿足方案的需求。 可以謹慎增大此數字以適應您的方案。 增大此數字,應用的效能可能會降低,特別是對於具有大量列的寬表。 儘管如此,仍是委派越多越好。

即雖然可以改成2000,但也要悠著點,改太大可能造成效能問題。

 

 

可委派函式則不受上述影響:

可委派函式

FilterSearch 和 LookUp 可以委派,不受500的限制。

 

 

針對以上描述,我們做了測試,在Share Point中匯入了一個excel,內容如下:

RT20170001-RT20172210,共計2210行資料。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

在Power Apps中使用Share point 連線建立畫布應用:

設定 Gallery1 控制元件的:

Items =Filter([@'test-excel'], StartsWith(Title, TextSearchBox1.Text))

由於Filter是 可委派函式,所以如下圖是可以顯示超過 2000條資料的。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

緊接著設定一個按鈕,然後設定一個 gallery 2,按鈕的onselect 設定為:

OnSelect=ClearCollect(Collect01,Filter([@'test-excel'], StartsWith(Title, TextSearchBox1.Text)));

使用ClearCollect 非可委派函式,故而Collect01中的資料實際上是受到 預設值 500的限制的,本例子中我們已經講該值改為2000。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

Gallery2 的 ITems 設定為

Items=Collect01

Power Apps 畫布應用中非可委派函式查詢數量限制

 

執行程式,點選按鈕,檢視 Gallery2的資料:

由於ClearCollect是 非可委派函式,則最多顯示了 2000條資料。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

針對這一現象,官網給出:

官網中明確規定:處理大型資料集需要使用資料來源和能夠委派的公式, 若要讓應用始終執行良好,同時要確保使用者能夠訪問所需的全部資訊,這是唯一的方式。 請注意,標識不可能委派的位置的委派警告。 如果處理的是小型資料集(不到 500 條記錄),則可使用任何資料來源和公式,因為當不能委派公式時,應用可以在本地處理資料   

 

 


 

另外當 Share Point List中資料超過 5000,則Power Apps還會報錯:

請求的操作無效,伺服器響應  失敗,已禁止嘗試的操作,因為它超過了列表檢視閾值。

Power Apps 畫布應用中非可委派函式查詢數量限制

 

需修改Share Point List 列表體驗 為 新體驗 以支援超過5000行的share point list ,步驟如下:

 

Power Apps 畫布應用中非可委派函式查詢數量限制

Power Apps 畫布應用中非可委派函式查詢數量限制





宣告:

 

點選可查閱本站文章目錄 《文章分類目錄》

本站所有內容僅代表個人觀點,如與官文件衝突,請以官方文件為準。

可在本頁面下方留言或通過下方聯絡方式聯絡我:

微信:wxyusz;郵箱:shuzhen.yu@foxmail.com

歡迎關注公眾號“雲端計算實戰”,接收最新文章推送。

相關文章