Excel Power Query 載入時間 - 為什麼相關查詢會重新載入 CSV 檔案資料?

Excel Power Query 載入時間 - 為什麼相關查詢會重新載入 CSV 檔案資料?

我在 Excel 中有一系列查詢,這些查詢都依賴初始查詢,該查詢從 CSV 檔案載入資料、處理它們並將它們載入到工作表中的表中。其餘查詢均使用工作表作為來源,且不利用外部資料來源。

當我單獨重新加載它們時,它們似乎花費了比應有的時間更長的時間,並且似乎正在訪問 CSV 文件本身。

根據一些互聯網研究,我擁有用於查詢優化加載(快速加載、關閉後台等)的所有全局和數據設置,並且考慮到數據量,原始查詢加載/處理是可以接受的。看起來,一旦我在工作簿的表中處理了數據,對該表和其他表的查詢就不需要返回數據源文件。

只是想知道我是否在這裡遺漏了一些東西。謝謝!

答案1

當一個查詢引用另一個查詢作為來源(或在合併或追加步驟中)時,每次刷新引用查詢時都會執行整個來源查詢邏輯。如果有 5 個查詢引用相同來源查詢,則來源查詢邏輯將並行執行 5 次(預設)。顯然效率很低。

在 Excel 場景中,避免這種低效率的模式是將來源查詢設定為加載至Excel 表格。然後,引用查詢可以指向該 Excel 表格作為其來源。

這確實給您帶來了協調刷新的挑戰,因為點擊全部刷新按鈕可能會導致結果不一致。我通常使用查詢組或透過記錄刷新巨集來緩解這種情況。

答案2

謝謝邁克。您似乎是正確的,儘管刷新依賴查詢似乎確實刷新了父查詢(正如有關其正在訪問的 CSV 文件的消息所確認的那樣)比直接刷新父查詢要快一些。

我已經按照你建議的方式解決了問題。而不是使用 Power Query 編輯器工具列中的“管理/引用”按鈕生成

來源 = #"父查詢"

我使用獲取數據->表/範圍或 M 編輯器從父查詢的表中獲取數據

Source = Excel.CurrentWorkbook(){[Name="父查詢表名"]}[內容]

現在立即加載。由於我正處於專案的開發階段,管理刷新不是問題。完成後我會想出一個系統。

謝謝!

相關內容