今(2018)年3月上旬參加數位時代所舉辦的「PowerBI圖像式資料分析」,雖然只有短短一天的課程,但對於在資料視覺化領域鑽研一段時間的人來說,仍可以有相當大的幫助。
話說微軟因應大數據分析需求,從Excel 2010開始,逐步增加各種增益集,像Power Pivot、Power View、Power Query、Power Map等四大天王,給予使用者自助式商業智慧功能。到了Excel 2016,這些功能變為內建,使用更為方便(後二者更名為「新查詢」、「3D地圖」)。
不過這些功能都建立在Excel上,為加速推廣應用,微軟在2014年推出Power BI線上服務,並提供免費的Power BI Desktop程式,讓使用者可以不用到Excel情況下,使用商業智慧功能。
為區別二大走向,我將前者稱為Excel Power BI(工具為Excel與增益集),後者則稱為Microsoft Power BI(工具主要為Power BI Desktop)。對初學者而言,從Excel入門會比較快,等熟悉後,再來學習Power BI Desktop會比較容易。二者其實有一半以上的功能是雷同的,但最終目的不太一樣。如果你只要單機操作、運算、展示,那Excel Power BI就可以了;但如果你想把結果放上雲端,多人異地同時查詢,那麼Microsoft Power BI就是你的選擇。本文在舉例上將偏重在Power BI Desktop(以下簡稱PBI Desktop)。
|
Excel Power BI |
Microsoft Power BI |
工具 |
Excel及增益集* Power Pivot Power View Power Query(更名為「新查詢」) Power Map(更名為「3D地圖」) |
Power BI Desktop Power BI Mobile Apps On-premises gateway內部部署閘道 Power BI publisher for Excel# |
本質 |
單機操作為主 |
線上服務為主 |
備註 |
*增益集在Excel 2016 professional plus版為內建 |
#發布Excel樞紐分析表、圖表、儲存格範圍等 |
由於課程內容相當豐富,我挑了三個主題與大家分享:
- ETL:資料從來源端經過萃取(extract)、轉置(transform)、載入(load)至目的端的過程。
- 資料表的關連:許多資料表之間有一個共通的欄位(例如ID),經過關聯之後,可以當作一個資料表來處埋。即所謂關連式資料庫。
- 圖像式分析:利用Power View或視覺效果(Visualizations),顯示在資料中探索到的見解。
一、萃取(extract)
首先談談ETL。這個議題很深,網路資源很多介紹,我用一個例子roadshow。在PBI Desktop的畫面,萃取在[首頁]的[取得資料],下拉後有八種類型,Excel活頁簿、Power BI服務(指已上傳之資料)、SQL Server、Analysis Services(SQL的data mining資料)、文字/CSV、Web(網頁或網路空間資料)、OData摘要(連結到有權限的開放資料)、空白查詢(自行輸入)等。如果選擇最下面的[更多],則列出全部共達79種資料格式或來源,可以PBI Desktop在萃取資料方面,己經提供了最多的可能性,幾乎沒有資料是讀不進來的。
以Excel活頁簿為例,裏面可能有多張工作表,可以選擇部分或全部,每選擇一項,右邊就會出現預覽。如果資料形式立即可用,則按[載入],否則要先[編輯]。
以本例而言,進入查詢編輯器畫面,中間是欲載入的資料。右邊重點是[套用的步驟],這很重要,代表軟體對該資料已經進行了4個步驟。分別是:
- 來源:各資料表在活頁簿中的性質
- 導覽:秀出資料內容
- 標頭升階:將第一列改為變項名稱
- 變更類型:自動依各欄位性質判斷為數字、文字或日期等
且每點選一個步驟,都可以看見程式碼,也就是說,軟體預設對每次載入載入的資料,都先作這4步處理。這是常見的基本PBI Desktop萃取(extract)過程,當然不同來源,會有所差異。萃取步驟也可以再增加。
二、轉置(transform)
接著,你可以發現,資料最後一欄[訂購產品]中,並不是正規的資料格式,而將產品名稱、單價、數量等併在一起「P1(200)(1200)」。這時接下來要作的是轉置(transform)的工作。
依照下列三步,選取[訂購產品]欄、[分割資料行]、選逗號[確定],資料立即分成四欄。(註:我所謂”欄”,軟體叫”行”,一樣意思)
接著最關鍵,也是最神奇的一步,大家仔細看。Ctrl+左鍵選取4個[訂購產品]欄、上方頁籤切到[轉換]、按下[取消資料行樞紐],神奇的事發生。四欄瞬間變成二欄,[屬性]與[值]。[屬性]內容是原來的[訂購產品]1~4,[值]是其內容。是不是很神奇?
這種轉換很常見,我們拿到的資料格式經常不符合一列一筆交易的分析格式,便需要進行轉置(transform)。從上面截圖來看,[轉換]頁籤的功能還很多,舉二個例子:
1.如果你不需要讀進整張資料表,只要統計出各業務員的訂單數,則只要點選業務員欄,按左上角的[分組依據],再按[確定]。即可得到如下的統計表。如果你反悔,只要按一下右邊最後步驟的[〤已群組資料列]即可。
2.如果要把前面的[值]欄中的資料分開,「P1(200)(1200)」→「P1」「(200)」「(1200)」。步驟是選取[值]欄、[分割資料行]、輸入「(」[確定],[值]欄立馬分為三欄。再選取[值]欄1~3、[取代值]、輸入「)」[確定],[值]欄1~3便清乾淨。最後再把資料欄名稱改為[品名]、[單價]、[數量]即可。
三、載入(load)
最後一步,就是載入(load)了。很簡單,按下[首頁]頁籤中的[關閉並套用],資料便真正進到PBI Desktop的工作畫面。
透到以上的範例,我們把ETL流程走一遍。可想而知,每一步驟都有很多變化形式,有待大家去探索。歡迎提出詢問,或分享自己的心得。
下次介紹主題--資料表的關連。
留言列表