訓練
模組
Use Power Query to load data in Dataverse - Training
Learn how to synchronize data from different sources to a Microsoft Dataverse table using Power Query and create dataflows in Power Apps.
當您在Power Query 中重新整理時,在幕後做了許多工作,以嘗試提供順暢的用戶體驗,並有效率且安全地執行您的查詢。 不過,在某些情況下,您可能會注意到重新整理數據時,Power Query 會觸發多個數據源要求。 有時候這些要求是正常的,但其他時候可能會防止這些要求。
下列各節說明一些 Power Query 可以將多個要求傳送至數據源的實例。
連接器可以基於各種原因對數據源進行多次呼叫,包括元數據、快取結果、分頁等等。 此行為正常,且設計為以這種方式運作。
如果多個查詢從該數據源提取,就可能發生對相同數據源的多個要求。 即使在只有一個查詢參考數據源的情況下,這些要求也會發生。 如果一或多個其他查詢參考該查詢,則會獨立評估每個查詢與其相依的所有查詢。
在桌面環境中,會使用單一共用快取來執行數據模型中所有數據表的單一重新整理。 快取可以降低對相同數據源的多個要求的可能性,因為一個查詢可以受益於已經針對不同查詢執行和快取的相同要求。 不過,即使在這裡,您也可以取得多個要求,因為:
在雲端環境中,每個查詢都會使用自己的個別快取來重新整理。 因此,查詢無法受益於已針對不同查詢快取的相同要求。
有時候,Power Query 的折迭層可能會根據正在下游執行的作業,對數據源產生多個要求。 在這種情況下,您可以使用 來避免多個要求 Table.Buffer
。 詳細資訊: 緩衝處理您的數據表
在 Power BI Desktop 中,Analysis Services (AS) 會使用兩個評估來重新整理數據:一個是擷取架構,一個是透過要求零個數據列來擷取架構,另一個是擷取數據。 如果計算零數據列架構需要擷取數據,則可能會發生重複的數據源要求。
數據隱私權會自行評估每個查詢,以判斷查詢是否安全地一起執行。 此評估有時可能會導致對數據源提出多個要求。 有一個指示符號,指出指定的要求來自數據隱私權分析,即它有一個「前 1000 名」條件(雖然並非所有數據源都支援這類條件)。 一般而言,停用數據隱私權,假設這是可接受的,將會在重新整理期間消除「前 1000 名」或其他數據隱私權相關要求。 詳細資訊: 停用數據隱私權防火牆
與針對數據隱私權執行的評估類似,Power Query 編輯器預設會下載每個查詢步驟前 1,000 個數據列的預覽。 下載這些數據列有助於確保數據預覽可在選取步驟后立即顯示,但也可能會導致重複的數據源要求。 詳細資訊: 停用背景分析
各種 Power Query 編輯器背景工作也可以觸發額外的數據源要求(例如,查詢折疊分析、數據行分析、Power Query 在載入結果至 Excel 之後觸發的 1000 個數據列預覽的自動重新整理等等)。
您可以關閉查詢程式的特定部分來隔離多個查詢的實例,以隔離重複要求的來源。 例如,如果您啟動:
Table.Buffer
在此範例中,您只有單一 M 評估會在您重新整理 Power Query 編輯器預覽時發生。 如果此時發生重複的要求,則查詢的撰寫方式會以某種方式固有。 如果沒有,而且如果您逐一啟用先前所述的設定,您可以觀察重複要求開始發生的時間點。
下列各節會更詳細地說明這些步驟。
您不需要重新連線或重新建立查詢,只要在Power Query 編輯器中開啟您想要測試的查詢即可。 如果您不想讓現有的查詢混亂,您可以在編輯器中複製查詢。
下一個步驟是停用數據隱私權防火牆。 此步驟假設您並不擔心來源之間的數據外洩,因此您可以使用在 Excel 中設定 [快速合併] 選項中所述的 [一律忽略隱私權等級] 設定,或使用 [忽略隱私權層級],並可能改善 Power BI Desktop 隱私權等級中所述的效能設定,來停用數據隱私權防火牆。
在繼續正常測試之前,請務必復原此步驟。
下一個步驟是停用背景分析。 背景分析是由 [允許數據預覽] 在停用 Power BI 的 Power Query 背景重新整理中所述的背景設定中下載所控制。 您也可以在 Excel 中停用此選項。
或者,您也可以使用 Table.Buffer
來強制讀取所有數據,以模擬載入期間發生的情況。 Table.Buffer
若要在 Power Query 編輯器中使用:
在 Power Query 編輯器公式列中,選取 fx 按鈕以新增步驟。
在公式列中,使用 Table.Buffer 括住上一個步驟的名稱(<上一個步驟名稱會在這裡>)。 例如,如果上一個步驟命名 Source
為 ,公式列會顯示 = Source
。 編輯公式列中的步驟,以說 = Table.Buffer(Source)
。
詳細資訊: Table.Buffer
若要執行測試,請在Power Query 編輯器中執行重新整理。
訓練
模組
Use Power Query to load data in Dataverse - Training
Learn how to synchronize data from different sources to a Microsoft Dataverse table using Power Query and create dataflows in Power Apps.