全文共 1521 字,預計學習時長 3 分鐘
圖片來源:https://unsplash.com/@yancymin
很多數據分析愛好者都會使用Power BI構建Dashboard、可視化數據。
然而,在對復雜的Dashboard進行建立和改進時,總會通過不同的字段和相應表格,不斷添加或刪除Widget。
經過多次更改后,數據結構會看起來很雜亂——原先幫助構建Dashboard的那些表格和列表變得混亂不堪。一番數據處理后,最終的Dashboard可以包含所有當前使用字段。
不幸的是,在Power BI上實現Dashboard全預覽的唯一方法是,自行瀏覽所有Widget的數據,并手動寫下那些已用字段。
從Power BI手動搜索Widget的后臺數據
但程序員都會努力避免不必要的手動操作,所以我們應該好好鉆研,尋找這方面的解決方案。別擔心,最后的解決方案出奇地簡單!
解構PBIX文件
整理Power BI而不直接使用的第一步是研究.PBIX文件。WinRAR等免費壓縮文件能夠解壓任何.PBIX文件。以上功能給用戶提供了一系列不同的文件格式和目錄選擇,為后續的分析和操控創造可能。
瀏覽解壓文件時,可以看到一個內含“layout”的“Report”的文件夾。這個文件夾包含了有關Dashboard的視覺結構的所有信息,比如:
? 每個Widget的大小和x/y坐標
? 已用字段名稱
? 所有的設置和參數
? 標題
? ……以及其他海量信息
layout文件看起來由一串JSON、表單和詞庫共同構成。我們打算使用Python對所有數據字段和已用Widget進行總結。
從文字編輯器里打開layout
構建語法分析器
原本以為一個普通的JSON分析器可以解決問題,但不幸的是JSON內部都是嵌套結構,因此代碼都比設想的長一些,但整體上還是比較簡短。解碼和場景建構之后,得到了較為滿意的結果:分析器成功返回了每一個Widget對應的表格和字段。
然后運用Pandas將以上數據概括到一個數據幀中,刪除了所有重復信息(例如,兩個Widget共用的信息)。這個步驟的結果以簡潔的數據幀呈現,涵蓋了在Dashboard中使用的所有數據:
Jupyter Notebook上的輸出數據幀
線上版本
好了,目前所有程序都能從layout文件上復制字符串,再粘貼到Jupyter Notebook上,從而借助方程完美運行。盡管運行得相當順利,整個操作的用戶友好度不是很好,所以下一步就是把該方程轉化為一個實用工具。
繼續用Python的話,可以選擇用Flask構建一個網絡應用程序。
工具的線上版本
總的來說,這僅僅是將字符串當作輸入。運行方程,返回數據幀后,它將框架轉換為HTML表格,最終將HTML表格展示給用戶。該工具完全免費,沒有任何廣告。它有時候在Heroku網絡服務器上運行速度會稍慢。
最后得到一個顯示了所有Dashboard里使用過的獨有數據字段
接下來做什么?
盡管得到了令人滿意的結果,不過,研究才剛剛開始。還有足夠空間擴展腳本文件,探索解壓文件夾中的其他文件。.PBIX文件能帶來許多新的機會。比如說,可以簡單地對文件進行微調,重新壓縮文件然后用Power BI重新打開——似乎有點成效。這說明用戶可以使用Python腳本編輯Dashboard。
下一步需要做什么?你可以考慮以下方面:
? 追蹤更改
? 自動生成報告
? 創建更廣泛的報告
……
留言 點贊 關注
我們一起分享AI學習與發展的干貨
歡迎關注全平臺AI垂類自媒體 “讀芯術”
(添加小編微信:dxsxbb,加入讀者圈,一起討論最新鮮的人工智能科技哦~)
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
