處理資料來源錯誤 (Power Query)

套用到
Microsoft 365 Excel

當您最終設定資料來源並按照您想要的方式塑造資料時,感覺確實很棒。 希望當您重新整理來自外部資料來源的資料時,作業能順利進行。 但情況並非總是如此。 一路上資料流程的變更可能會導致當您嘗試重新整理資料時,最終會發生錯誤的問題。 有些錯誤可能很容易修復,有些可能是暫時性的,有些可能難以診斷。 以下是您可以採取的一組策略來處理遇到的錯誤。 

擷取、轉換、載入 (ETL 的概觀) 可能發生錯誤的位置

兩種類型的錯誤

重新整理資料時可能會發生兩種類型的錯誤。

本機 如果錯誤發生在 Excel 活頁簿中,至少您的疑難排解工作會受到限制且更易於管理。 可能是重新整理的資料導致函數發生錯誤,或資料在下拉式清單中建立無效條件。 這些錯誤很麻煩,但相當容易追蹤、識別和修復。 Excel 也改善了錯誤處理能力,提供更清楚的訊息和指向目標說明主題的上下文相關連結,協助您找出並修正問題。

遠端 然而,來自遠端外部資料來源的錯誤則完全是另一回事。 可能位於街對面、地球另一端或雲端中的系統中發生了一些問題。 這些類型的錯誤需要不同的方法。 常見的遠端錯誤包括:

  • 無法連線至服務或資源。 檢查您的連線。
  • 找不到您嘗試存取的檔案。
  • 伺服器沒有回應,可能正在進行維護。 
  • 此內容無法使用。 它可能已被移除或暫時無法使用。
  • 請稍候...正在載入資料。

調查錯誤

以下是一些建議,可協助您處理可能遇到的錯誤。

尋找並儲存特定錯誤 首先檢查 [ 查詢] & [連線 ] 窗格 (選取 [ 資料>查詢] & [連線],選取連線,然後顯示飛出視窗) 。 查看發生了哪些資料存取錯誤,並記下提供的任何其他詳細資訊。 接下來,開啟查詢以查看每個查詢步驟的任何特定錯誤。 所有錯誤都以黃色背景顯示,以便於識別。 寫下或螢幕擷取錯誤訊息資訊,即使您不完全理解它。 您組織中的同事、管理員或支援服務也許能夠幫助您了解發生了什麼並提出解決方案。 如需詳細資訊,請參閱處理 Power Query 中的錯誤

取得說明資訊 搜尋 Office 說明與訓練 網站。 這不僅包含廣泛的說明內容,還包含疑難排解資訊。 如需詳細資訊 ,請參閱 Windows 版 Excel 近期問題的修正或因應措施

運用技術社群 使用 Microsoft 社群網站搜尋與您的問題相關的討論。 您很可能不是第一個遇到這個問題的人,其他人正在處理它,甚至可能已經找到了解決方案。 如需詳細資訊,請參閱 Microsoft Excel 社群 Office Answers 社群

搜尋網頁 使用您喜歡的搜索引擎在網絡上尋找可能提供相關討論或線索的其他網站。 這可能很耗時,但這是一種撒下更廣泛的網來尋找特別棘手問題的答案的方法。

連絡 Office 支援服務 在這一點上,您可能更了解這個問題。 這可協助您集中交談,並最大限度地減少花費在 Microsoft 支援服務上的時間。 如需詳細資訊,請參閱 Microsoft 365 和 Office 客戶支援。

了解資料來源錯誤

雖然你可能無法解決問題,但你可以準確地找出問題所在,幫助別人了解情況並為你解決問題。

服務和伺服器問題 間歇性網路和通訊錯誤可能是罪魁禍首。 您能做的最好的事情就是等待並再試一次。 有時,問題會消失。

位置或可用性的變更 資料庫或檔案遭到移動、損毀、離線進行維護,或資料庫當機。 磁碟裝置可能會損毀,檔案也會遺失。 如需詳細資訊,請參閱在 Windows 10 上復原遺失的檔案

驗證和隱私權的變更 權限不再有效,或隱私權設定已變更的情況可能會突然發生。 這兩個事件都可能妨礙外部資料來源的存取。 請洽詢您的系統管理員或外部資料來源的系統管理員,以查看已變更的內容。 如需詳細資訊,請參閱管理資料來源設定和權限以及設定隱私權層級

開啟或鎖定的檔案 如果開啟文字、CSV 或活頁簿,則在儲存檔案之前,對檔案的任何變更都不會包含在重新整理中。 此外,如果檔案已開啟,則可能會遭到鎖定,而且在關閉之前無法存取。 當其他人使用非訂閱版本的 Excel 時,就可能發生這種情況。 要求他們關閉檔案或簽入。 如需詳細資訊,請參閱 解除鎖定已鎖定編輯的檔案

對後端結構描述的變更 有人變更了資料表名稱、資料行名稱或資料類型。 這幾乎從來都不是明智的,可以產生巨大的影響,並且對於資料庫尤其危險。 人們希望資料庫管理團隊已經採取適當的控制措施來防止這種情況發生,但確實會發生失誤。 

封鎖來自查詢摺疊的錯誤 Power Query 會盡可能改善效能。 通常最好在伺服器上執行資料庫查詢,以利用更高的效能和容量。 此過程稱為查詢折疊。 不過,如果資料有可能遭到盜用,Power Query 會封鎖查詢。 例如,合併是在活頁簿資料表與 SQL Server 資料表之間定義。 活頁簿資料隱私權設定為隱私權,但 SQL Server 資料設定為組織。 因為隱私權比組織更嚴格,所以 Power Query 會封鎖資料來源之間的資訊交換。 查詢摺疊發生在幕後,因此當封鎖錯誤發生時,您可能會感到驚訝。 如需詳細資訊,請參閱 查詢摺疊基本概念查詢摺疊使用查詢診斷摺疊

了解 Power Query 錯誤

通常使用 Power Query,您可以精確找出問題所在並自行修正。

重新命名的資料表和資料行 對原始資料表和資料行名稱或資料行標題所做的變更幾乎肯定會在重新整理資料時造成問題。 查詢幾乎每個步驟都依賴資料表和資料行名稱來調整資料。 避免變更或移除原始資料表和資料行名稱,除非您的目的是要讓它們與資料來源相符。 

資料類型的變更 資料類型變更有時會導致錯誤或非預期的結果,尤其是在可能需要在引數中使用特定資料類型的函數中。 範例包括取代數字函數中的文字資料類型,或嘗試在非數值資料類型上執行計算。 如需詳細資訊,請參閱 新增或變更資料類型

儲存格層級錯誤 這些類型的錯誤不會阻止載入查詢,但會在儲存格中顯示 Error 。 若要查看訊息,請選取表格儲存格中包含 [錯誤] 的空格鍵。 您可以移除、取代或僅保留錯誤。 儲存格錯誤的範例包括:

  • 轉換 您嘗試將包含 NA 的儲存格轉換成整數。
  • 數學 您嘗試將文字值乘以數值。
  • 串連運算子 您嘗試合併字串,但其中一個字串為數值。

安全地進行實驗和反覆執行如果您不確定轉換是否會產生負面影響,請複製查詢、測試您的變更,並逐一查看 Power Query 命令的變化。 如果命令無法運作,只要刪除您建立的步驟,然後再試一次。 若要快速建立具有相同結構描述和結構的範例資料,請建立包含數個欄和列的 Excel 表格,然後匯入該資料表 ([從表格/範圍) 選取資料>]。 如需詳細資訊,請參閱建立 資料表從 Excel 資料表匯入

明智地轉型

當您第一次了解可以使用 Power Query 編輯器中的資料執行哪些動作時,您可能會感覺自己像個在糖果店裡的小孩。 但要抵制住吃掉所有糖果的誘惑。 您要避免進行可能會無意中導致重新整理錯誤的轉換。 有些作業很簡單,例如將欄移到表格中的不同位置,而且應該不會導致日後重新整理錯誤,因為 Power Query 會依欄名稱追蹤欄。

其他作業可能會導致重新整理錯誤。 一個一般的經驗法則可以成為你的指路明燈。 避免對原始資料行進行重大變更。 為安全起見,請使用 [ 新增欄]、[ 自訂欄]、[ 重複欄] 等命令 () 複製原始欄,然後對複製的原始欄版本進行變更。 以下是有時可能導致重新整理錯誤的操作,以及一些可協助事情更順利進行的最佳做法。

Operation 指引
篩選 透過在查詢中儘早過濾資料並刪除不需要的資料以減少不必要的處理來提高效率。 此外,使用 自動篩選 來搜尋或選取特定值,並利用日期、日期時間和日期時區欄中可用的類型特定篩選 (,例如 ) 。
資料類型和欄標題 在第一個來源步驟之後,Power Query 會自動將兩個步驟新增至您的查詢:升級標題,將表格的第一列升級為欄標題,以及變更的類型,根據每個欄值的檢查,將任何資料類型中的值轉換為資料類型。 這很實用,但有時候您可能想要明確控制此行為,以避免不小心發生重新整理錯誤。
如需詳細資訊,請參閱 新增或變更資料類型升階或降階列和欄標題
重新命名 避免重新命名原始欄。 針對由其他命令或動作新增的欄位使用 [重新命名 ] 命令。
如需詳細資訊,請參閱 重新命名欄
分割資料行 分割原始欄的複本,而非原始欄。
如需詳細資訊,請參閱 分割文字欄
合併欄 合併原始欄的複本,而非原始欄。
如需詳細資訊,請參閱合併資料行
移除 如果您要保留的欄數目較少,請使用 [選擇欄] 來保留您想要的欄。
請考慮移除欄和移除其他欄之間的差異。 當您選擇移除其他資料行,並重新整理資料時,自上次重新整理以來新增至資料來源的新資料行可能仍未被偵測到,因為當查詢中再次執行 [移除資料行] 步驟時,這些資料行會被視為其他資料行。 如果您明確移除欄,就不會發生這種情況。
秘訣 沒有像 Excel) 中那樣隱藏欄 (的命令。 不過,如果您有許多欄,而且想要隱藏許多欄,協助您專注於工作,您可以執行下列動作:移除欄,記住建立的步驟,然後在將查詢載入回工作表之前移除該步驟。
如需詳細資訊,請參閱 移除欄
取代 取代值時,您並沒有編輯資料來源。 相反地,您正在變更查詢中的值。 下次重新整理資料時,搜尋的值可能稍有變更,或已不復存在,因此 [取代 ] 命令可能無法如預期運作。
如需詳細資訊,請參閱 取代值。
樞紐和取消樞紐 使用 [樞紐分析欄] 命令時,當您樞紐分析欄時,可能會發生錯誤,不要彙總值,但會傳回多個值。 在以非預期的方式變更資料的重新整理作業之後,可能會出現這種情況。
如果並非所有欄都為已知,而且您希望在重新整理作業期間新增的欄也取消樞紐分析,請使用 [ 取消樞紐其他欄] 命令。
如果您不知道資料來源中的欄數,但想要確定在重新整理作業之後,選取的欄仍未樞紐分析,請使用 [取消 樞紐僅選取的欄] 命令。
如需詳細資訊,請參閱 樞紐分析欄取消樞紐分析欄。

領先潮流

防止錯誤發生 如果外部資料來源是由組織中的另一個群組管理,他們需要注意您對它們的相依性,並避免對其系統進行變更,從而導致下游問題。 記錄對資料、報表、圖表及其他相依於資料的成品的影響。 建立溝通管道,確保他們了解影響並採取必要的措施來保持事情順利進行。 尋找建立控制措施的方法,以儘量減少不必要的變更,並預期必要變更的後果。 誠然,這說起來容易,有時也很難做到。

使用查詢參數面向未來使用查詢參數來緩解例如資料位置的變更。 您可以設計查詢參數來取代新位置,例如資料夾路徑、檔案名稱或 URL。 還有其他方法可以使用查詢參數來緩解問題。 如需詳細資訊,請參閱 建立參數查詢

另請參閱

適用於 Excel 的 Power Query 說明

使用 Power Query (docs.com) 時的最佳做法