如何七周成為數據分析師06:數據可視化之手把手打造BI

7 評論 39092 瀏覽 157 收藏 21 分鐘

本文是《如何七周成為數據分析師》的第六篇教程,如果想要了解寫作初衷,可以先行閱讀七周指南。溫馨提示:如果您已經熟悉BI,大可不必再看這篇文章,或只挑選部分。

前言

我們上一篇《如何七周成為數據分析師05:數據可視化之打造升職加薪的報表》教大家如何制作清晰美觀的報表以及相應技巧,但是報表是結果的呈現,并不是數據分析的過程。

數據分析師更多用到的報表是BI。

BI全稱商業智能(Business Intelligence),在傳統企業中,它是一套完整的解決方案。將企業的數據有效整合,快速制作出報表以作出決策。涉及數據倉庫,ETL,OLAP,權限控制等模塊。

今天的學習我們只著重于數據分析過程,使用Power BI打造數據分析師Dashboard報表。為了更好的學習和實踐,我們依舊會使用《如何七周成為數據分析師03:手把手教你Excel實戰》的數據進行操作。這是做出的簡單作品。

Clipboard Image.png

如果你還沒有數據,請在公眾號:qinlu中的會話頁發送關鍵詞「練習數據」獲取下載地址。

Power BI在微軟官網有下載(注不注冊無所謂的),只需要下載Desktop桌面操作版,大小約120MB。暫時只推出Win版本。

大家如果在下載過程中出現CAB文件損壞錯誤,大概是某軟哪方面又出錯了,可以換瀏覽器下載,也可以下載中文繁體版。反正我是一直報錯。

為了方便大家偷懶,可以在公眾號:qinlu中會話頁發送關鍵詞「BI下載」獲取官網下載地址。

什么是Power BI

BI工具主要有兩種用途。一種是利用BI制作自動化報表,數據類工作每天都會接觸大量數據,并且需要整理匯總,這是一塊很大的工作量。這部分工作可以交給BI自動化完成,從數據規整、建模到下載。

另外一種是使用其可視化功能進行分析,BI的優點在于它提供比Excel更豐富的可視化功能,操作簡單上手,而且美觀,如果大家每天作圖需要兩小時,BI會縮短一半時間。

BI作為企業級應用,可以通過它連接公司數據庫,實現企業級報表的制作。這塊涉及數據架構,就不深入講了。

Power BI是微軟家的。如果大家熟悉Excel,應該會知道微軟推出的Power Query、Power Pivot、Power View和Power Map,是Excel上非常強大的四個插件。Power BI則是微軟將它們作為集合推出。

Power Query是用于數據提取、整合、搜索的插件。它偏向數據模型的建立,而不是單元格的使用。

Power Pivot是數據透視表的高級應用,使用DAX能進行大量的科學計算。性能方面,比Excel函數要快兩個量級,百萬級的處理不成問題。

Power View是圖表的高級應用,實現了過濾、聯動、拖拽等功能。

Power Map是可視化地圖。

如果大家熟練掌握以上四個插件,那么在Excel上也能實現部分BI。畢竟Excel是企業中人手一款的工具,和BI相比有輕量級的好處,雖然數據分析師需要掌握的工具更多。

BI的步驟

市面上有很多豐富的BI工具,Tableau,QlikView,BDP等,各有側重,也各有價格。但是操作過程都是相似的,大體分為五個步驟:數據源讀取、數據清洗、數據關聯、圖表制作、Dashboard整合。熟悉了其中一個,再學會另外的就不難。

因為我工作用的BI是私有化部署到服務器,直接連接生產環境的,演示不方便。所以才用Power BI演示,實際我也說不上熟練。

數據源讀取

我們打開Power BI,它會讓我們登錄,不用管它。

Clipboard Image.png

界面和Office軟件比較接近。上面是操作工具項,左側欄是導航欄。

Power BI 的左側導航欄對應三個模塊:儀表板、報表和數據集。儀表板或報表需要數據才能操作,我們先讀取數據集。

點擊工具欄的取得資料(奇怪的翻譯)。

Clipboard Image.png

Power BI支持各類豐富數據源(市面上絕大部分BI都支持,只是讀取方式略有差異),除了Excel和CSV 文件,它還支持Acess、SQL數據庫、Hadoop/HDFS、Spark、第三方API等。

這是新手教程,連接CSV即可,選擇載入練習數據DataAnalyst。

Clipboard Image.png

這里可以針對數據編輯,先略過,選擇載入。

自動跳轉到數據報表頁,數據報表(Report)是數據規整和清洗過程。

大家還記得實戰篇中演示的數據清洗嗎?之前我們體驗了一遍Excel函數清洗的過程。這次需要用BI再進行一遍清洗。數據清洗是分析師最蛋疼且耗時持久的工作,沒有之一。

數據清洗

Power BI有一個高級功能叫DAX(Data Analysis Expressions),它是整個 Power BI 使用的公式語言。

DAX近似Excel函數(大多數第三方BI,函數均接近Excel),故它針對新手非常友好。如果大家已經熟悉Excel函數,上手速度會很快?;旧虾瘮得侄家粯樱绻皇煜?,可以查閱官網提供的文檔。

我們先清洗報表中的薪水salery,和實戰篇過程一樣,需要將其拆分成兩個新列,并且計算平均值。

Clipboard Image.png

點擊模型項的新建資料行(這里的翻譯應該不對,應是column列,后文我都用列表示),此時新增加的列沒有任何內容。我們需要做的操作就是以salery生成兩列。

Clipboard Image.png

這里需要用到DAX。當成函數使用它就行,不過Excel是單元格級別的引用,而DAX中的任何引用、計算、匯總等,都是以列為單位的。

=’Table Name'[ColumnName]

這是最簡單的引用,Table Name是我們這張報表的名字,我載入的csv叫DataAnalyst,那么報表就叫做DataAnalyst,ColumnName是我們需要引用的列,名字叫做salary。下圖公式就是范例。

Clipboard Image.png

如果表名中有空格,需要加引號,如果沒有則不需要。如果是跨表引用,TableName是必須的,否則只需要ColumnName。DAX支持自動填充,可以通過模糊輸入+回車快速輸入。

我說過它近似Excel,那么Excel加減乘除的習慣可以直接使用在上面。

=’Table Name'[ColumnName1]+’Table Name'[ColumnName2]*3

接下來繼續清洗步驟,我們查找k所在的字符串位置。

=search(“k”, DataAnalyst[salary],1)

利用left函數截取工資下限。

=left(DataAnalyst[salary],search(“k”, DataAnalyst[salary],1)-1)

Clipboard Image.png

搞定。資料行重命名為bottomSalery。接下來是工資上限topSalery,使用”-“截取的時候報錯了。

=search(“-“, DataAnalyst[salary],1)

檢查一下發現原來是有“10K以上”這類字符串。DAX查找不到“-”,這時需要返回一個出錯時表達的值。因為10k以上的描述無法確定工資上限,那么我們就把返回的值限定為bottomSalery。

在這里請記住,DAX的容錯性比Excel低,只要DAX中有一行返回Error,那么整列都是Error。我們需要用Iferror函數保證容錯性。

這里給出topSalary的計算,比較繁瑣。

topSalery = IFERROR(mid(DataAnalyst[salary],SEARCH("-",DataAnalyst[salary],1)+1,LEN(DataAnalyst[salary])-SEARCH("-",DataAnalyst[salary],1)-1),DataAnalyst[bottomSalery])

Clipboard Image.png

之后新建一列使用(DataAnalyst[bottomSalery]+DataAnalyst[topSalery])/2 計算該崗位的平均工資。

大家看到這里,是不是覺得DAX公式非常長?新手可以多增加輔助列來進行計算。

Excel中有比較方便的分列功能,那么Power BI中是否擁有呢?答案是肯定的,右鍵點擊列,選擇編輯查詢選項。

Clipboard Image.png

這里依舊吐槽翻譯。分割資料行就是我們熟悉的分列功能。選擇自定義,用“-”即可完成分列(原始數據會被拆分,所以建議先復制一列)。

Clipboard Image.png

實戰篇提到過,我們的北京數據是有重復值的,那么我們通過positionId這職位的唯一標示,來刪除重復項。右鍵點擊移除重復項目即可。

我們再看一下查詢編輯的其他功能。

分組依據可以認為是數據透視表??梢赃x擇多個字段進行分組。對結果進行求和、計數等操作。

Clipboard Image.png

如果是訂單、用戶行為、用戶資料等大量數據,一般會以分組形式進行計算。不同分組字段,會生成不同的維度,像范例中的城市、工作年限,教育背景都是維度,也是圖表的基礎。如果生成的維度足夠多,我們能利用維度組成數據模型,這是OLAP的概念。

除此以外,也能利用過濾直接篩選數據。我們選擇出含有數據分析、分析的數據。排除掉大數據工程師等干擾職位。

Clipboard Image.png

這里支持多條件復雜邏輯篩選。

到這里,我們已經完成實戰篇中的清洗過程中,我這次簡單化了。以上步驟都能通過右側的套用步驟還原和撤銷。這里不會出現bottomSalery這類列。

Clipboard Image.png

之后選擇工具欄的關閉并套用,報表數據就會更新。最后數據2300多行。
通過數據查詢和報表DAX公式,我們就能完成數據清洗和規整的步驟。主要思路是:移除重復值、過濾目標數據、清洗臟數據、數據格式轉換。

數據關聯

我們工作中會用到很多數據,不可能依靠一張表走天下。若是在Excel中,我們經常用Vlookup函數將多張表關聯匯總。Power BI則用拖拽關聯數據,更方便。一般是先關聯再清洗。

因為我的數據只有一張表,用不到關聯,以官網截圖為例。

Clipboard Image.png

很簡單,用拖拽將Product的manufactureId和Manufacturer的manufactureId關聯,我們可以理解成做了vlookup引用,也可以想成SQL的Join。

分析會涉及到很多復雜因素,這些因素相關的數據不會安安靜靜給你呆在一張表里,而是不同的表,所以需要用到數據關聯。

數據關聯在學習到SQL后會更加清晰,這是SQL的核心概念之一。

圖表

進入圖表設計階段,點擊側邊欄第一個項。BI比Excel好的地方在于,它只要拖拽就能設計和生成。

Clipboard Image.png

點擊任一圖表,畫布上會自動生成圖形,要切換圖表類型直接點擊其他即可。我們把城市和平均工資拖拽到視覺效果下的欄目,它會自動生成圖表。不同圖表需要的維度、軸都不一樣,具體按提示進行。

Clipboard Image.png

視覺效果下有設計選項,可以將圖表調整的更美觀,這里不詳細介紹了。

點擊新增視覺效果(繼續吐槽翻譯),可以繼續在畫布上增加圖表。絕大部分BI,都是支持聯動的,所謂聯動,通俗講,就是點擊圖表上的維度元素,其他數據也會按此維度相應變化。

Clipboard Image.png

上圖就是一個很好的聯動例子,點擊城市維度的北京,其他圖表都變了,平均工資由14.23變成15.23。而學歷則變成突出顯示,顯示出了北京的博士們薪水遠高于平均水準。

圖表聯動帶來更好的數據洞察,將不同數據維度的組合和選取,為分析師帶來決策能力的提升。當然我最喜歡的特點之一是省時間。

通過不斷的圖表組合,就能生成數據分析師自己的分析畫布。這塊畫布叫作Dashboard。當然圖表好看與否,就取決于分析師的設計品味了(這個我教不了你們,哈哈)。

Clipboard Image.png

如果維度過多,大家可以插入視覺選項中的交叉篩選器,添加過濾功能,常用于精細化的分析,例如時間維度。圖表右上角按鈕,還能選擇導出數據,導出一份該圖表的csv數據。

我們也能將其發布到網上,作為同事和企業間協作,或者手機端瀏覽數據用。當然這里需要注冊賬號,就看大家意愿了。

更多功能留待大家學習,到這里,Power BI的新手教程就結束了。我列舉了常用的功能,不知道大家有沒有從Excel圖表水平躍升到一個新階段,大家可以自己拿數據做圖表報告作為分析師行業的敲門磚。如果還有疑問,就借助官網文檔學習,BI作為一個領域,它值得數據分析師深入。

以下是一些補充:

范例

因為時間的關系,我沒有講解更多的樣式設計內容。大家可以去官網下載范例,含有原始數據練習。主要是學習他人的報表匯制思路。

Clipboard Image.png

另外Power BI的圖表偏少,類似標靶圖、箱線圖都沒有。不過官網有各類圖表下載。搜索pbiviz即可,沒有中文。

Clipboard Image.png

R集成

Power BI在它內部已經集成了R語言,沒錯,就是統計學中的R語言。如果你覺得視圖功能還不夠強大,那么我們可以利用R來繪制圖表,甚至借助R做回歸分析等。當然R是第七周的內容。這里只以官網截圖為例。

Clipboard Image.png

數據更新

BI很重要的一個功能是數據更新,它是報表自動化的基礎,它通常和SQL關聯。我們使用CSV,只能往里面黏貼數據更新,還是繁瑣了些,只屬于半自動化。這將在學會SQL后解決。

相關閱讀

互聯網數據分析能力的養成,需一份七周的提綱

如何七周成為數據分析師01:常見的Excel函數全部涵蓋在這里了

如何七周成為數據分析師02:Excel技巧大揭秘

如何七周成為數據分析師03:手把手教你Excel實戰

如何七周成為數據分析師:Excel技巧之甘特圖繪制(項目管理)

如何七周成為數據分析師:Excel技巧之打造多級菜單

如何七周成為數據分析師04:數據可視化之經典圖表合集

如何七周成為數據分析師05:數據可視化之打造升職加薪的報表

#專欄作家#

秦路,微信公眾號ID:tracykanc,人人都是產品經理專欄作家。

本文由 @秦路?原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自PEXELS,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 這一節重操作,而不是方法吧?我想知道如何找出核心的業務指標,常見的儀表板設計原則有哪些?如何提高BI的性能等等

    來自廣東 回復
  2. 請問數據更新是直接復制粘貼嗎?

    來自廣東 回復
  3. 不會爬蟲抓取數據,可以請樓主把抓取的數據分享出來給大家用嗎

    來自廣東 回復
  4. 沒找到qinlu的公眾號啊

    來自廣東 回復
    1. 公眾號名稱就叫秦路,微信號:tracykanc

      來自江蘇 回復
  5. 這章節講的不太容易懂,打開軟件看介紹都不知道怎么操作

    來自北京 回復
  6. 請在公眾號:qinlu中的會話頁發送關鍵詞「練習數據」獲取下載地址。在哪里啊

    來自北京 回復