Power BI:用Python自動執行數據處理任務

全文共1521字,預計學習時長
3分鐘
Power BI:用Python自動執行數據處理任務

圖片來源:https://unsplash.com/@yancymin


很多數據分析愛好者都會使用Power BI構建Dashboard、可視化數據。


然而,在對複雜的Dashboard進行建立和改進時,總會通過不同的字段和相應表格,不斷添加或刪除Widget。


經過多次更改後,數據結構會看起來很雜亂——原先幫助構建Dashboard的那些表格和列表變得混亂不堪。一番數據處理後,最終的Dashboard可以包含所有當前使用字段。


不幸的是,在Power BI上實現Dashboard全預覽的唯一方法是,自行瀏覽所有Widget的數據,並手動寫下那些已用字段。

Power BI:用Python自動執行數據處理任務

從Power BI手動搜索Widget的後臺數據


但程序員都會努力避免不必要的手動操作,所以我們應該好好鑽研,尋找這方面的解決方案。別擔心,最後的解決方案出奇地簡單!


解構PBIX文件


整理Power BI而不直接使用的第一步是研究.PBIX文件。WinRAR等免費壓縮文件能夠解壓任何.PBIX文件。以上功能給用戶提供了一系列不同的文件格式和目錄選擇,為後續的分析和操控創造可能。


瀏覽解壓文件時,可以看到一個內含“layout”的“Report”的文件夾。這個文件夾包含了有關Dashboard的視覺結構的所有信息,比如:


• 每個Widget的大小和x/y座標

• 已用字段名稱

• 所有的設置和參數

• 標題

• ……以及其他海量信息


layout文件看起來由一串JSON、表單和詞庫共同構成。我們打算使用Python對所有數據字段和已用Widget進行總結。

Power BI:用Python自動執行數據處理任務


構建語法分析器


原本以為一個普通的JSON分析器可以解決問題,但不幸的是JSON內部都是嵌套結構,因此代碼都比設想的長一些,但整體上還是比較簡短。解碼和場景建構之後,得到了較為滿意的結果:分析器成功返回了每一個Widget對應的表格和字段。


然後運用Pandas將以上數據概括到一個數據幀中,刪除了所有重複信息(例如,兩個Widget共用的信息)。這個步驟的結果以簡潔的數據幀呈現,涵蓋了在Dashboard中使用的所有數據:

Power BI:用Python自動執行數據處理任務

Jupyter Notebook上的輸出數據幀


線上版本


好了,目前所有程序都能從layout文件上覆制字符串,再粘貼到Jupyter Notebook上,從而藉助方程完美運行。儘管運行得相當順利,整個操作的用戶友好度不是很好,所以下一步就是把該方程轉化為一個實用工具。


繼續用Python的話,可以選擇用Flask構建一個網絡應用程序。

Power BI:用Python自動執行數據處理任務

工具的線上版本


總的來說,這僅僅是將字符串當作輸入。運行方程,返回數據幀後,它將框架轉換為HTML表格,最終將HTML表格展示給用戶。該工具完全免費,沒有任何廣告。它有時候在Heroku網絡服務器上運行速度會稍慢。

Power BI:用Python自動執行數據處理任務

最後得到一個顯示了所有Dashboard裡使用過的獨有數據字段


接下來做什麼?


儘管得到了令人滿意的結果,不過,研究才剛剛開始。還有足夠空間擴展腳本文件,探索解壓文件夾中的其他文件。.PBIX文件能帶來許多新的機會。比如說,可以簡單地對文件進行微調,重新壓縮文件然後用Power BI重新打開——似乎有點成效。這說明用戶可以使用Python腳本編輯Dashboard。


下一步需要做什麼?你可以考慮以下方面:

• 追蹤更改

• 自動生成報告

• 創建更廣泛的報告

……

Power BI:用Python自動執行數據處理任務

我們一起分享AI學習與發展的乾貨

編譯組:夏伊凡、楊月

相關鏈接:

https://towardsdatascience.com/power-bi-how-i-started-using-python -to- automate- tasks-9f53e3e9ab47


分享到:


相關文章: