以證交所的 三大法人買賣金額統計表 為例,來做說明。
Step 1. 點選「其他」。
Step 2. 輸入 "JSON",點擊 "JSON",再點擊 "連結"。
Step 3. 輸入 三大法人買賣金額統計表 JSON的網址 https://www.twse.com.tw/fund/BFI82U?response=json&type=day,再點擊 "開啟"。
Step 4. 匯入資料後,在 "data" 欄位,滑鼠右鍵,點擊 "成為資料表"。
Step 5. 再次在 "data" 欄位,滑鼠右鍵,點擊 "向下切入",或點擊「list」。
Step 6. 在 "清單" 欄位,滑鼠右鍵,點擊 "到表格"。
Step 7. 點擊 "確認"。
Step 8. 在 "Column1" 欄位,點擊按鈕,再點擊 "擷取值..."。
Step 9. 選擇 "冒號",再點擊 "確定"。
Step 10. 點擊 "分割資料行",選擇 "依分割符號"。
Step 11. 選擇 "冒號",最後點擊 "確定"。
最後就會見到三大法人買賣金額統計表資料。
Step 12. 修改 Column 欄位名稱,以利後續標頭欄位合併。
Step 13. 右側點擊 "來源",再點擊 "fields",滑鼠右鍵選擇 "加入成為新查詢"。
Step 14. 滑鼠右鍵選擇 "到表格"。
Step 15. 點擊 "確定"。
Step 16. 點擊 "轉置"。
Step 17. 確認Column欄位名稱與 "BFI82F[1]" 相同就可以準備進行表格合併。
Step 18. 點擊 "附加查詢",概念等同於Python 的Pandas的concat功能。
Step 19. 選擇 "BFI82F[1]" 資料表。
Step 20. 點擊 "使用第一個資料列作為標頭"。
Step 21. 點擊 "關閉並套用"。
進行套用查詢變更。
最後就會見到三大法人買賣金額統計表資料。
我們可以在「Power Query 編輯器」透過開啟「進階編輯器」分別查看"BFI82F[1]"、"fields" 可察看上面所有操作步驟所轉換而成的「M語言」程式碼。
BFI82F[1]
fields
BFI82F[1]的程式碼經簡化後。
let json = Json.Document(Web.Contents("https://www.twse.com.tw/fund/BFI82U?response=json&type=day")), data = json[data], table = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error), rowdata = Table.TransformColumns(table, {"Column1", each Text.Combine(List.Transform(_, Text.From), ";"), type text}), alldata = Table.SplitColumn(rowdata, "Column1", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Column1", "Column2", "Column3", "Column4"}) in alldata
使用以上M程式碼操作,需要設定網站認證才能正常連線。
以上的概念跟Excel操作概念相同,如下:
- Power BI的DAX函數操作就同等於在Excel上的函數操作。
- Power Query的操作等同於Excel錄製巨集,產生對應的 「M語言」程式碼。
- Power Query產出的「M語言」程式碼,等同於VBA程式碼。
沒有留言:
張貼留言