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

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

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

前言

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

數(shù)據(jù)分析師更多用到的報表是BI。

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

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

Clipboard Image.png

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

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

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

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

什么是Power BI

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

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

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

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

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

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

Power View是圖表的高級應用,實現(xiàn)了過濾、聯(lián)動、拖拽等功能。

Power Map是可視化地圖。

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

BI的步驟

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

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

數(shù)據(jù)源讀取

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

Clipboard Image.png

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

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

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

Clipboard Image.png

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

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

Clipboard Image.png

這里可以針對數(shù)據(jù)編輯,先略過,選擇載入。

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

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

數(shù)據(jù)清洗

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

DAX近似Excel函數(shù)(大多數(shù)第三方BI,函數(shù)均接近Excel),故它針對新手非常友好。如果大家已經(jīng)熟悉Excel函數(shù),上手速度會很快?;旧虾瘮?shù)名字都一樣,如果不熟悉,可以查閱官網(wǎng)提供的文檔。

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

Clipboard Image.png

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

Clipboard Image.png

這里需要用到DAX。當成函數(shù)使用它就行,不過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

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

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

利用left函數(shù)截取工資下限。

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

Clipboard Image.png

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

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

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

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

這里給出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

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

Clipboard Image.png

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

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

分組依據(jù)可以認為是數(shù)據(jù)透視表。可以選擇多個字段進行分組。對結果進行求和、計數(shù)等操作。

Clipboard Image.png

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

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

Clipboard Image.png

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

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

Clipboard Image.png

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

數(shù)據(jù)關聯(lián)

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

因為我的數(shù)據(jù)只有一張表,用不到關聯(lián),以官網(wǎng)截圖為例。

Clipboard Image.png

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

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

數(shù)據(jù)關聯(lián)在學習到SQL后會更加清晰,這是SQL的核心概念之一。

圖表

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

Clipboard Image.png

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

Clipboard Image.png

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

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

Clipboard Image.png

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

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

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

Clipboard Image.png

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

我們也能將其發(fā)布到網(wǎng)上,作為同事和企業(yè)間協(xié)作,或者手機端瀏覽數(shù)據(jù)用。當然這里需要注冊賬號,就看大家意愿了。

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

以下是一些補充:

范例

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

Clipboard Image.png

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

Clipboard Image.png

R集成

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

Clipboard Image.png

數(shù)據(jù)更新

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

相關閱讀

互聯(lián)網(wǎng)數(shù)據(jù)分析能力的養(yǎng)成,需一份七周的提綱

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

如何七周成為數(shù)據(jù)分析師02:Excel技巧大揭秘

如何七周成為數(shù)據(jù)分析師03:手把手教你Excel實戰(zhàn)

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

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

如何七周成為數(shù)據(jù)分析師04:數(shù)據(jù)可視化之經(jīng)典圖表合集

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

#專欄作家#

秦路,微信公眾號ID:tracykanc,人人都是產(chǎn)品經(jīng)理專欄作家。

本文由 @秦路?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載。

題圖來自PEXELS,基于CC0協(xié)議

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

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

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

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

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

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

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

    來自北京 回復