第二篇:Power BI資料視覺化之基於Web資料的報表製作(經典級示例)

穆晨發表於2016-04-16

前言

        報表製作流程的第一步顯然是從各個資料來源匯入資料,Power BI能從很多種資料來源匯入資料:如Excel,CSV,XML,以及各類資料庫(SQL Server,Oracle,My SQL等),兩大主流開源平臺(Hadoop,Spark)等等。本文篇幅所限,無法一一說明,僅就網頁獲取資料的方式進行講解(其他方式大同小異)。

        然後本文將在Power BI後臺工作區(下簡稱後臺區)對獲取到的資料集進行塑形。所謂塑形就是確定資料集的列名以及資料型別,還有進行一些基本資料清洗轉換工作,以保證Power BI報表模組能正確解讀資料集。塑形後的資料集其實就是Power BI報表繪製區(下簡稱報表區)的輸入。

        一旦資料塑形好,我們就能切換到Power BI報表區繪製各種報表了。最後本文將製作一張報表,愉快地結束本次學習。

Power BI的三大工作區

        在上篇中,大致介紹了Power BI的開發流程,如下圖所示:

        Power BI中,報表區和後臺區分別對應"報表繪製"和"資料塑形"階段。關聯工作區(下簡稱關聯區)則負責關聯Power BI中的多個表。讀者現在無需糾結這個工作區,後期教程會對它進行詳細講解。

        剛開啟Power BI,將進入到報表區。下圖示記了報表區中後臺區的入口:

        點選左側中間那個亮藍色按鈕則會進入到後臺區的"只讀模式"。它不是真正的後臺工作區不能對資料做任何轉換處理工作,這點初學者務必注意。

        下圖示記了後臺區進入報表繪製區的入口,點選該按鈕會返回到報表區並使用塑形後的資料更新報表:

匯入資料

        本文采用的資料集來源於如下網頁:

        http://www.bankrate.com/finance/retirement/best-places-retire-how-state-ranks.aspx

        該網頁描述的主題是"退休以後生活在哪裡(美國哪個州)最合適",表中欄位資訊均為各州在居住成本、稅率、犯罪率等方面在全國的排名。

        用瀏覽器開啟看看:

        本文工作的第一步,就是使用Power BI將這份表格抓下來。不需要把網頁拷出來,更不需要寫爬蟲,只需要將網頁地址告訴Power BI,它就能幫你把這份表格完完整整地抓下來。

        首先,在報表區點選獲取資料:

        然後,選擇Web格式資料:

        再輸入要抓取的網址:

        稍後片刻這份表格就被抓下來啦,整個過程1分鐘都不用:

        而拿到資料的下一步,就是資料塑形。一般來說網頁顯示的資料格式未必是您要的報表資料格式,下面我們進入後臺區來"捏一捏"這些資料。(進入後臺區的方式上面講了,這裡就不浪費篇幅了哈)

資料塑形 - 工作區介紹

        進入後臺區後,將看到如下視窗:

        主區域展示了本文從網頁獲取到的表格,此外上方還有一批功能欄。其中,開始功能欄內容如下:

        這些都是最常用的資料塑形操作,如過載資料、刪除行列、排序、列拆分、資料分組,合併查詢等等。其他三個功能欄:轉換、新增列、檢視則是對應資料塑形功能的細化。

        另外需要注意的是查詢設定視窗。我們在工作區做的任何操作在這裡都會記錄下來,可隨時點選以回退到過去的操作(不要Ctrl + Z哈):

        我們在歷史操作中做了修改後,下游操作也會被同步更新。另外點選途中紅框處的那個X可以將該操作撤銷

        關於查詢設定視窗還有很多好玩的用法,本文篇幅所限就不一一說明了,讀者可自行嘗試。

資料塑形 - 工作流程

        下面我們回過頭來看看獲取到的這份表格:

        首先檢查行名、列名、行數、列數。發現多出了一個Header列,將它刪掉。其他部分沒啥問題。

        然後檢查各列的資料型別,確保需要統計的欄位是可統計的型別(如整數,浮點數等)。具體方法是將功能欄切換到"轉換功能欄",每當我們點選一列時,下圖紅色標記位置將顯示列的資料型別:

        顯然上圖中列的資料型別是錯的,需要將它轉換為整數型。為什麼單就這一列有問題,沒被正確轉換為整型呢?這是因為該列有些欄位含有文字字元,如上圖中的藍框標記處。

        解決方法很簡單,在"轉換功能欄"配置替換機制將這些異常資料修復。比如將"27(tied)"替換為"27"就可以了。

        資料修復完畢後,即可對它進行轉型。只需右鍵->轉換型別-> 整型即可,也可以直接在功能區進行修改:

        然而,假如現在多了一個需求:要求資料集中還得有州的簡稱。怎麼做?一個個輸進去嗎?

        當然不是的,假如資料量很大,幾千行,那不得加班加點搞了。幾萬行,幾十萬行呢?在使用任何工具的時候都應該思考如何"偷懶",這裡可使用Power BI的資料合併功能輕鬆做好這個需求。

        在維基百科裡,可以搜尋到美國各州對應的簡稱(https://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations),開啟該網頁:

        接下來將把原來的表格關聯到上述表(相當於SQL中的Join),並擷取其中的ANSI列(該列表示各州簡稱)。用先前的方法,將該網頁的這份報表抓取下來。然後對該表格內容進行以下塑形工作:

        1. 移除頭兩行表頭資訊:

        2. 移除底端26條資訊(它們不是美國的州名,而是些美屬領土)。方法和1類似,就不截圖展示了。

        3. 篩選掉行政特區:

        4. 刪除多餘的列。直接在需要刪除的列的表頭右鍵,然後點選刪除列即可。(可Ctrl法選擇多個列)

        5. 將第一行選定為表頭:

       

        6. 修改列名(右鍵點選列表頭->重新命名即可)。塑形完畢後,該表資料如下:

        因為這份表格資料比較雜亂一點,和需求不是非常吻合,因此塑形工作多了點。不過大都是些介面操作,做下來也就5分鐘左右的工作量。

        接下來是見證奇蹟的一刻^_^:將兩份表格Join起來。具體方法是在"開始功能欄"點選"合併查詢",然後設定連線資訊:

        點選確定後,發現新生成的表竟然多了一列呢:

        展開它就是了:

        要注意State Name是連線鍵屬性,原表亦有該欄位。故不用展開它。

        至此,一個階段的資料塑形算是完成了,接下來就可以進入到報表區繪製報表。下面是本階段資料塑形的結果表:

        其中選中的列表示各州的簡稱,是通過合併查詢擴充套件到的欄位。

        需要提醒讀者的是資料塑形得越規整,接下來的報表製作就越是得心應手。所以請讀者耐心看完這部分的講解,心急吃不了熱豆腐:)

報表製作 - 工作區介紹

        回到報表繪製區,我們將看到如下視窗: 

        其中開始功能區是製作報表過程中常用到的編輯功能和視覺化的管理功能。建模功能區允許使用者在報表區完成一些簡單的資料塑形工作。格式功能區則允許使用者對工作區報表進行佈局和圖層控制。

        報表區的右側則是我們的工作區:

        這是報表區工作的核心位置,它的用法將在下一節詳細講解。

報表製作 - 詳細流程

        Power BI中,不論是繪製什麼圖表,總體的步驟都是以下幾步。下面筆者以一個簡單報表為例講解Power BI中報表製作的總體過程。

        1. 選中目標繪製圖形。我們這裡選擇一個經典的條狀圖吧:

        2. 往視覺化圖中填資料。填的方式是通過拖拉列。假如我們想重點分析總排名和稅率排名的關係,可以這麼拖:

        發現柱狀圖有東西顯示了:

        顯然由於一次分析的州太多,有限的空間顯示不來的。。。

        3. 篩掉一部分資料。如果我們想只分析美國事宜退休人員居住排行榜前10的州,可設定篩選器:

        這樣設定將令Power BI繪製報表時只取用總排名前10的州的資料。點選應用後發現影象那麼回事兒了:

        但現在又發現一個問題。橫軸的循序顯然是按照州名排序的,這樣的圖根本看不出任何資訊。

        4. 調整視覺化元素呈現順序。關鍵是在建模功能區設定列的排序方式。我們首先選中需要調整順序的目標列:

        然後在建模功能區修改該列的呈現規則,將其展現順序繫結到Overall rank列:

        這樣柱狀圖就會按照Overall rank列遞增的順序繪製柱狀。

        5. 美化工作。點選下圖紅圈中的那個畫筆即可進入美化工作區:

        選項非常多,請讀者們自行發揮自己的美學天賦吧!

        6.  排版佈局。在報表區的格式功能區有不少排版功能選擇:

        當報表中有很多影象元素時,讀者可使用這些功能對它們進行排版。具體方法和Office,Visio中的圖形佈局是完全一樣d的。

        7. 儲存釋出。Power BI儲存的本地工程檔案為.pbix格式。除此之外使用者還可以將報表釋出出去,在移動端(如平板)隨時展示已製作的報表。釋出及釋出後的使用方法會在下一章講解,敬請期待。

小結

        總的來說,使用Power BI繪製報表最關鍵的還是在於資料塑形步驟。只有這個步驟做好了,報表繪製起來才能得心應手。

        在充分掌握了資料塑形技巧後,就可以將更多精力放在各種各樣的視覺化圖形上。要注意的是Power BI除了包含不少內建圖表,還支援從微軟官網或其他地方下載成百上千種圖表格式。

課後作業

        由於在之前我們已經對資料做了初步塑形了,因此之後的報表製作將非常輕鬆愉快。接下來讀者可盡情發揮自己的想象力製作各種酷炫報表,儘量搞清楚Power BI中所有內建圖形的繪製方法。

        下面是筆者自己隨便做的一份報表,輕拍^_^:

相關文章