常見的JSON實務範例,裡面包含的物件是層層疊疊的,物件裡有清單、清單裡有物件,對應到Power Query編輯器的M語言,熟識List、Record、Table等容器後,會有更清楚的脈絡與思維,在資料轉換的操作上更有莫大的幫助。
學習Json檔案格式與實作系列:(5/5)Power Query匯入Json實務範例2
- 211
- 0
- 學習Json檔案格式與實作系列
常見的JSON實務範例,裡面包含的物件是層層疊疊的,物件裡有清單、清單裡有物件,對應到Power Query編輯器的M語言,熟識List、Record、Table等容器後,會有更清楚的脈絡與思維,在資料轉換的操作上更有莫大的幫助。
前面為大家普科了JSON檔案格式的架構,並不是要讓大家無中生有的去撰寫JSON格式資料檔,因為,可以轉換與解析JSON檔案格式的工具及應用程式很多,筆者只是希望大家至少能看得懂簡單的JSON檔案格式,因為,未來勢必會有很多接觸JSON檔案格式的機會。而後來又跟大家講解了Power Query環境下的M語言,尤其是三大容器List、Record、Table,筆者的目的也不是要讓大家使用這些容器來建立資料,而是在使用Power Query匯入各種類型的外部資料來源時,譬如:JSON檔案、XML檔案,您就會很容易理解所匯入的資料元素是什麼,包含了哪些物件、含括了什麼成分,以及如何去展開與剖析。
Power Query在處理資料、解析資料的基礎上,並不僅僅是針對文字、數值、日期與時間等類型的資料而已,資料結構中的資料表、資料欄位、資料記錄,也都有其對應的儲存體,我們稱之為容器。在Power Query的資料結構中,會涉獵到資料表(Table)、記錄(Record)、清單(List)等容器,更是儲存與擷取結構化資料的重要元素,若要了解資料的深化、探勘、萃取、轉換、…等技巧,就必須深入了解這三大容器的關係、轉換、編碼與相關函數的運用。雖說使用Power Query操作介面與功能選單,就可以達到資料查詢的目的,但多方瞭解這些容器的標示方式,將有助於您再匯入JSON、XML等資檔案時,會有莫大的助益。
前一篇文章我們提到「JSON 物件基本上就是 JavaScript 物件」,而這敘述在大多數情況下都對。正如同標準的JavaScript物件,我們可在JSON內加入相同的基本資料型別,諸如:字串、數字、陣列、布林值,以及其他物件,也能同樣再建構出資料繼承,因此,非常適合結構化資料的儲存與傳遞。
資料、數據的傳遞在資訊蓬勃發展的今天,幾乎是不可避免、天天上演的劇情。譬如:手機訊息的傳遞、網絡檔案的分享、各種平台的資料下載,都是您我經常面臨的情境。而資料檔案的格式雖然多元,多變,普遍且具優勢的格式並不多,但其中的Json檔案格式被許多資源、系統與平台廣泛採用,不論您是否具備資訊背景,絕對是易懂易學且十分值得您花點時間認識與運用的。
完成員工專長需求的查詢介面設計後,測試一下各種情境的需要,檢視Power Query的運作與Excel的參數規劃是否符合我們的需求。
萬事具備了,我們就開始來建立選取專長項目後的名冊輸出,以顯示出到底有哪些員工符合我們的專長需求囉!因此,再度進入Power Query編輯器,以[員工專長列表]查詢結果來進行這項任務。
建立查詢是查找資料的基本,而查詢的比對準則內容,可以來自工作表上的儲存格,也就是利用儲存格的內容,做為查詢的比對參數,是直覺又便利的查詢操作介面設計。
上一篇文章【從Power Query實作認識「基元值」(Atomic Value)】的說明與實作中,我們將一份非結構資料,透過Power Query編輯器的操作,建立了兩張資料表,並載入到Power Pivot的資料模型裡,進行關聯式資料庫的建立。接著我們就延續這份資料,準備建構出員工專長查詢介面設計與應用。
上一篇文章我們使用Power Query編輯器實作了將非結構化資料表轉換成結構化資料的DAW DATA,也從範例中介紹了「基元值」(Atomic Value)這個專有名詞。然而,這份DAW DATA仍不是完美的關聯式資料表,理由是重複性資料站多,主要索引關鍵欄位也需要建構與釐清。
在關聯式資料庫系統中,常聽到「基元值」(Atomic Value)這個專有名詞,許多非資訊背景的工作者,常有不知所措、不易理解的窘境。在此就以Excel處理資料,轉換資料的概念,為大家說明與實作。