PDF 檔案雖屬於文件格式,但其內容經常包含表格與清單等結構化資料。因此,能夠從 PDF 中正確萃取出資料表格,不僅是進行資料外部匯入的常見需求,也是資料轉換與前處理階段中不可或缺的重要技能。
從Excel到Power Query:函數實戰系列(8)_細說Power Query的內建函數(以匯入PDF檔案為例)
- 53
- 0
- 從Excel到Power Query:函數實戰系列
- 2025-11-08
PDF 檔案雖屬於文件格式,但其內容經常包含表格與清單等結構化資料。因此,能夠從 PDF 中正確萃取出資料表格,不僅是進行資料外部匯入的常見需求,也是資料轉換與前處理階段中不可或缺的重要技能。
XML這類型的資料檔案是使用標記語言來描述資料,具有明確的層次結構,亦可以定義結構的模式(例如DTD或XSD),常廣泛應用於企業系統或資料交換。然而,與JSON相比,XML使用標籤而非符號結構,比較適合文件樣式的資料,雖然它更注重格式的可讀性,但比JSON更冗長。
另一種最常見也非常普及的資料檔案格式為JSON檔案。其特性是具備層次化結構,非常適合儲存複雜和巢狀式(Nest)的資料(巢狀一詞在簡體字的翻譯中譯為嵌套)。例外,此種檔案格式可讀性好,靈活且支援動態資料,因此常被運用於API回應和資料交換。與簡單的csv格式相比,json的資料可以巢狀,適合多層次的關係型結構,但也因此需要使用解析器才能讀取和匯入(當然,Power Query已具有解析能力)。
從前面的系列文章分享中,相信已經在函數的運用領域,幫大家打下了很好的基礎。接著,我們就邁入在Power Query領域裡函數議題與學習。首先為大家詳細介紹並實作Power Query內建函數的運作,對函數進行導讀與學習。
為什麼這一篇文章要說是Power Query內建函數的導讀呢?因為,Power Query是一套ETL工具,可以協助使用者匯入外部資料並整理資料,而產生有用的RAWDATA。這一切的過程都是功能選單與指令操作居多,而完成這些過程的主角,便是M語言與其內建函數,也就是說,M語言是一種函數式的語言,使用者在操作的過程中完全不需要親自撰寫,但可以修改、刪除、添增這些內建函數,因此,即便不需要無中生有的撰寫它,但總是要學看懂它,才能靈活的掌控它。
從第一篇關於函數之一二的文章中,相信大家對函數的概念與應用,應該有了一定程度的理解。Excel提供有數百個現成的函數可供使用者靈活運用於各類報表、試算等需求。這一篇幅我們就來細說Excel環境裡的函數運用與客製化議題。
函數,簡單來說,就是「你給我輸入,我給你輸出」,給予數據、資料的輸入,轉換成所需的結果,是解決問題的好工具。在此將以不同的視角來讓您理解函數的功能,並瞭解函數是如何在不同領域協助人們提高工作效率和精確度。對函數多一點認識,就能夠發現函數在職場中的實際價值。
函數,簡單來說,就是「你給我輸入,我給你輸出」,給予數據、資料的輸入,轉換成所需的結果,是解決問題的好工具。在此將以不同的視角來讓您理解函數的功能,並瞭解函數是如何在不同領域協助人們提高工作效率和精確度。對函數多一點認識,就能夠發現函數在職場中的實際價值。
函數(Function)是一個廣泛應用的關鍵概念,當我們談到函數時,其核心思維可以歸納為:「一種關係或機制,它根據輸入來產生輸出。」這種關係可以在不同的領域中以不同的方式呈現,不僅僅是在數學、物理、電腦科學、程式設計、應用軟體,乃至生活日常等領域均有廣泛應用,扮演著極其重要的角色。但不論哪一個領域,函數的基本概念是不變的,簡單來說,可以將函數理解為一種「對應關係」,可以將一個或多個輸入(稱為自變量)轉換為一個輸出(稱為因變量)。
Drill Down,常被翻譯或解讀為深層探究、向下鑽取、深入探索、向下切入、…這描述與形容我都覺得很傳神,也很有意境。在層層疊疊嵌套式結構化資料的架構中,由廣入深的探究底層的資料與有用的訊息,正是資料分析與探勘的必要手段。(系列文章實作練習下載)
Table容器是Power Query中處理結構化數據的核心工具,也就是我們俗稱的資料表(Data Table)。透過行、列方式儲存資料,可以執行篩選、合併、轉置等多樣操作,滿足數據清理與轉換的需求。Table容器在資料整合中更扮演重要角色,可以整合多個來源數據,也是進行複雜分析的基礎,能與Excel及Power BI無縫對接,支援樞紐分析、動態報表等。熟練掌握Table容器不僅能提升工作效率,還有助於應對多樣化的數據分析需求,是瞭解與學習Power Query的關鍵一步。
經過這一輪的List(清單)實作,相信您對清單的結構、語法與特性,有些基本認識了吧!接著,我們就來看看另一個Power Query容器:Record(記錄)的特性。
除了使用[向下切入]或點開超連結的操作來執行擷取List元素之內容的查詢步驟外,也可以透過程式碼的編輯來達到相同的目的。這時候就一定要懂得List索引值的概念了。
在操作Power Query的過程,無疑就是處理資料過程,而過程中的每一個步驟即為M語言所執行查詢步驟,而查詢結果裡若有容器類型的資料,除了可以當下預覽(不用產生額外步驟)外,也可以探勘該容器的內容,也就是擷取該容器的內容步驟為「深化」或「向下切入」。
這一篇文章先來跟大家介紹List(清單)容器的特性與使用方式。在Power Query裡List容器是一種存儲單一值序列的資料結構,類似於其他編程語言中的陣列或集合。它非常適合處理簡單的資料列表,例如一系列數字、文字或日期。在 Power Query 中,List 是一種基本資料類型,經常在資料轉換或處理過程中使用。
在Power Query處理與解析資料的基礎上,並不僅僅是針對傳統結構化資料表的資料類型而已,資料結構中的Table (資料表)、Record (記錄)、List (清單)等容器,更是儲存與擷取結構化資料的重要元素,要了解資料的深化、探勘、萃取、轉換、…等技巧,就必須深入了解這三大容器的關係、轉換、編碼與相關函數的運用。
數據的資料型態主要可以區分為結構化資料和非結構化資料。在微軟的Excel以及BI解決方案中,Power Query這個應用程式是用來存取結構化資料與非結構化資料的一項整合工具,也是微軟利用Excel及Power BI進行資料整合與分析的一項大突破。(系列文章實作練習下載)
基於每一種資料來源的類型、格式、結構與複雜度有所不同,在使用Power Query匯入外部資料進行查詢時,便會自動完成先期的資料匯入與轉換步驟,而從這些查詢步驟的語句、步驟數目,您也可以輕鬆解讀資料處理的過程。
一般使用者在取得XML檔案時,並不會去理解它是一個需要或不需要XSD檔案的內容,而是在操作Power Query匯入外部檔案時,直接選擇XLM檔案進行匯入,這解析的工作就交給Power Query囉~
既然是一種標準化的資料檔案格式,嚴謹一點的XML檔案其開頭的定義至關重要,它直接影響數據的準確性與互操作性。不僅確保資料在不同系統間的一致性,也增強了檔案的可讀性和穩定性。
Xml檔案格式(Extensible Markup Language)被稱之為可擴展標記語言,是一種用於組織和儲存資料的文件格式。這種標記語言常用於定義和儲存結構化資料,其目的是描述資料的結構和內容,而不是呈現資料的外觀。也因為XML是獨立於操作系統和軟體的格式,所以可以跨平台的在不同系統或應用之間交換資料。因此,許多應用程式都會使用XML來保存使用者的設定與資料的分享。