如何七周成為數(shù)據(jù)分析師06:數(shù)據(jù)可視化之手把手打造BI
![](http://image.woshipm.com/wp-files/img/32.jpg)
本文是《如何七周成為數(shù)據(jù)分析師》的第六篇教程,如果想要了解寫(xiě)作初衷,可以先行閱讀七周指南。溫馨提示:如果您已經(jīng)熟悉BI,大可不必再看這篇文章,或只挑選部分。
前言
我們上一篇《如何七周成為數(shù)據(jù)分析師05:數(shù)據(jù)可視化之打造升職加薪的報(bào)表》教大家如何制作清晰美觀的報(bào)表以及相應(yīng)技巧,但是報(bào)表是結(jié)果的呈現(xiàn),并不是數(shù)據(jù)分析的過(guò)程。
數(shù)據(jù)分析師更多用到的報(bào)表是BI。
BI全稱商業(yè)智能(Business Intelligence),在傳統(tǒng)企業(yè)中,它是一套完整的解決方案。將企業(yè)的數(shù)據(jù)有效整合,快速制作出報(bào)表以作出決策。涉及數(shù)據(jù)倉(cāng)庫(kù),ETL,OLAP,權(quán)限控制等模塊。
今天的學(xué)習(xí)我們只著重于數(shù)據(jù)分析過(guò)程,使用Power BI打造數(shù)據(jù)分析師Dashboard報(bào)表。為了更好的學(xué)習(xí)和實(shí)踐,我們依舊會(huì)使用《如何七周成為數(shù)據(jù)分析師03:手把手教你Excel實(shí)戰(zhàn)》的數(shù)據(jù)進(jìn)行操作。這是做出的簡(jiǎn)單作品。
如果你還沒(méi)有數(shù)據(jù),請(qǐng)?jiān)诠娞?hào):qinlu中的會(huì)話頁(yè)發(fā)送關(guān)鍵詞「練習(xí)數(shù)據(jù)」獲取下載地址。
Power BI在微軟官網(wǎng)有下載(注不注冊(cè)無(wú)所謂的),只需要下載Desktop桌面操作版,大小約120MB。暫時(shí)只推出Win版本。
大家如果在下載過(guò)程中出現(xiàn)CAB文件損壞錯(cuò)誤,大概是某軟哪方面又出錯(cuò)了,可以換瀏覽器下載,也可以下載中文繁體版。反正我是一直報(bào)錯(cuò)。
為了方便大家偷懶,可以在公眾號(hào):qinlu中會(huì)話頁(yè)發(fā)送關(guān)鍵詞「BI下載」獲取官網(wǎng)下載地址。
什么是Power BI
BI工具主要有兩種用途。一種是利用BI制作自動(dòng)化報(bào)表,數(shù)據(jù)類工作每天都會(huì)接觸大量數(shù)據(jù),并且需要整理匯總,這是一塊很大的工作量。這部分工作可以交給BI自動(dòng)化完成,從數(shù)據(jù)規(guī)整、建模到下載。
另外一種是使用其可視化功能進(jìn)行分析,BI的優(yōu)點(diǎn)在于它提供比Excel更豐富的可視化功能,操作簡(jiǎn)單上手,而且美觀,如果大家每天作圖需要兩小時(shí),BI會(huì)縮短一半時(shí)間。
BI作為企業(yè)級(jí)應(yīng)用,可以通過(guò)它連接公司數(shù)據(jù)庫(kù),實(shí)現(xiàn)企業(yè)級(jí)報(bào)表的制作。這塊涉及數(shù)據(jù)架構(gòu),就不深入講了。
Power BI是微軟家的。如果大家熟悉Excel,應(yīng)該會(huì)知道微軟推出的Power Query、Power Pivot、Power View和Power Map,是Excel上非常強(qiáng)大的四個(gè)插件。Power BI則是微軟將它們作為集合推出。
Power Query是用于數(shù)據(jù)提取、整合、搜索的插件。它偏向數(shù)據(jù)模型的建立,而不是單元格的使用。
Power Pivot是數(shù)據(jù)透視表的高級(jí)應(yīng)用,使用DAX能進(jìn)行大量的科學(xué)計(jì)算。性能方面,比Excel函數(shù)要快兩個(gè)量級(jí),百萬(wàn)級(jí)的處理不成問(wèn)題。
Power View是圖表的高級(jí)應(yīng)用,實(shí)現(xiàn)了過(guò)濾、聯(lián)動(dòng)、拖拽等功能。
Power Map是可視化地圖。
如果大家熟練掌握以上四個(gè)插件,那么在Excel上也能實(shí)現(xiàn)部分BI。畢竟Excel是企業(yè)中人手一款的工具,和BI相比有輕量級(jí)的好處,雖然數(shù)據(jù)分析師需要掌握的工具更多。
BI的步驟
市面上有很多豐富的BI工具,Tableau,QlikView,BDP等,各有側(cè)重,也各有價(jià)格。但是操作過(guò)程都是相似的,大體分為五個(gè)步驟:數(shù)據(jù)源讀取、數(shù)據(jù)清洗、數(shù)據(jù)關(guān)聯(lián)、圖表制作、Dashboard整合。熟悉了其中一個(gè),再學(xué)會(huì)另外的就不難。
因?yàn)槲夜ぷ饔玫腂I是私有化部署到服務(wù)器,直接連接生產(chǎn)環(huán)境的,演示不方便。所以才用Power BI演示,實(shí)際我也說(shuō)不上熟練。
數(shù)據(jù)源讀取
我們打開(kāi)Power BI,它會(huì)讓我們登錄,不用管它。
界面和Office軟件比較接近。上面是操作工具項(xiàng),左側(cè)欄是導(dǎo)航欄。
Power BI 的左側(cè)導(dǎo)航欄對(duì)應(yīng)三個(gè)模塊:儀表板、報(bào)表和數(shù)據(jù)集。儀表板或報(bào)表需要數(shù)據(jù)才能操作,我們先讀取數(shù)據(jù)集。
點(diǎn)擊工具欄的取得資料(奇怪的翻譯)。
Power BI支持各類豐富數(shù)據(jù)源(市面上絕大部分BI都支持,只是讀取方式略有差異),除了Excel和CSV 文件,它還支持Acess、SQL數(shù)據(jù)庫(kù)、Hadoop/HDFS、Spark、第三方API等。
這是新手教程,連接CSV即可,選擇載入練習(xí)數(shù)據(jù)DataAnalyst。
這里可以針對(duì)數(shù)據(jù)編輯,先略過(guò),選擇載入。
自動(dòng)跳轉(zhuǎn)到數(shù)據(jù)報(bào)表頁(yè),數(shù)據(jù)報(bào)表(Report)是數(shù)據(jù)規(guī)整和清洗過(guò)程。
大家還記得實(shí)戰(zhàn)篇中演示的數(shù)據(jù)清洗嗎?之前我們體驗(yàn)了一遍Excel函數(shù)清洗的過(guò)程。這次需要用BI再進(jìn)行一遍清洗。數(shù)據(jù)清洗是分析師最蛋疼且耗時(shí)持久的工作,沒(méi)有之一。
數(shù)據(jù)清洗
Power BI有一個(gè)高級(jí)功能叫DAX(Data Analysis Expressions),它是整個(gè) Power BI 使用的公式語(yǔ)言。
DAX近似Excel函數(shù)(大多數(shù)第三方BI,函數(shù)均接近Excel),故它針對(duì)新手非常友好。如果大家已經(jīng)熟悉Excel函數(shù),上手速度會(huì)很快。基本上函數(shù)名字都一樣,如果不熟悉,可以查閱官網(wǎng)提供的文檔。
我們先清洗報(bào)表中的薪水salery,和實(shí)戰(zhàn)篇過(guò)程一樣,需要將其拆分成兩個(gè)新列,并且計(jì)算平均值。
點(diǎn)擊模型項(xiàng)的新建資料行(這里的翻譯應(yīng)該不對(duì),應(yīng)是column列,后文我都用列表示),此時(shí)新增加的列沒(méi)有任何內(nèi)容。我們需要做的操作就是以salery生成兩列。
這里需要用到DAX。當(dāng)成函數(shù)使用它就行,不過(guò)Excel是單元格級(jí)別的引用,而DAX中的任何引用、計(jì)算、匯總等,都是以列為單位的。
=’Table Name'[ColumnName]
這是最簡(jiǎn)單的引用,Table Name是我們這張報(bào)表的名字,我載入的csv叫DataAnalyst,那么報(bào)表就叫做DataAnalyst,ColumnName是我們需要引用的列,名字叫做salary。下圖公式就是范例。
如果表名中有空格,需要加引號(hào),如果沒(méi)有則不需要。如果是跨表引用,TableName是必須的,否則只需要ColumnName。DAX支持自動(dòng)填充,可以通過(guò)模糊輸入+回車(chē)快速輸入。
我說(shuō)過(guò)它近似Excel,那么Excel加減乘除的習(xí)慣可以直接使用在上面。
=’Table Name'[ColumnName1]+’Table Name'[ColumnName2]*3
接下來(lái)繼續(xù)清洗步驟,我們查找k所在的字符串位置。
=search(“k”, DataAnalyst[salary],1)
利用left函數(shù)截取工資下限。
=left(DataAnalyst[salary],search(“k”, DataAnalyst[salary],1)-1)
搞定。資料行重命名為bottomSalery。接下來(lái)是工資上限topSalery,使用”-“截取的時(shí)候報(bào)錯(cuò)了。
=search(“-“, DataAnalyst[salary],1)
檢查一下發(fā)現(xiàn)原來(lái)是有“10K以上”這類字符串。DAX查找不到“-”,這時(shí)需要返回一個(gè)出錯(cuò)時(shí)表達(dá)的值。因?yàn)?0k以上的描述無(wú)法確定工資上限,那么我們就把返回的值限定為bottomSalery。
在這里請(qǐng)記住,DAX的容錯(cuò)性比Excel低,只要DAX中有一行返回Error,那么整列都是Error。我們需要用Iferror函數(shù)保證容錯(cuò)性。
這里給出topSalary的計(jì)算,比較繁瑣。
topSalery = IFERROR(mid(DataAnalyst[salary],SEARCH("-",DataAnalyst[salary],1)+1,LEN(DataAnalyst[salary])-SEARCH("-",DataAnalyst[salary],1)-1),DataAnalyst[bottomSalery])
之后新建一列使用(DataAnalyst[bottomSalery]+DataAnalyst[topSalery])/2 計(jì)算該崗位的平均工資。
大家看到這里,是不是覺(jué)得DAX公式非常長(zhǎng)?新手可以多增加輔助列來(lái)進(jìn)行計(jì)算。
Excel中有比較方便的分列功能,那么Power BI中是否擁有呢?答案是肯定的,右鍵點(diǎn)擊列,選擇編輯查詢選項(xiàng)。
這里依舊吐槽翻譯。分割資料行就是我們熟悉的分列功能。選擇自定義,用“-”即可完成分列(原始數(shù)據(jù)會(huì)被拆分,所以建議先復(fù)制一列)。
實(shí)戰(zhàn)篇提到過(guò),我們的北京數(shù)據(jù)是有重復(fù)值的,那么我們通過(guò)positionId這職位的唯一標(biāo)示,來(lái)刪除重復(fù)項(xiàng)。右鍵點(diǎn)擊移除重復(fù)項(xiàng)目即可。
我們?cè)倏匆幌虏樵兙庉嫷钠渌δ堋?/p>
分組依據(jù)可以認(rèn)為是數(shù)據(jù)透視表??梢赃x擇多個(gè)字段進(jìn)行分組。對(duì)結(jié)果進(jìn)行求和、計(jì)數(shù)等操作。
如果是訂單、用戶行為、用戶資料等大量數(shù)據(jù),一般會(huì)以分組形式進(jìn)行計(jì)算。不同分組字段,會(huì)生成不同的維度,像范例中的城市、工作年限,教育背景都是維度,也是圖表的基礎(chǔ)。如果生成的維度足夠多,我們能利用維度組成數(shù)據(jù)模型,這是OLAP的概念。
除此以外,也能利用過(guò)濾直接篩選數(shù)據(jù)。我們選擇出含有數(shù)據(jù)分析、分析的數(shù)據(jù)。排除掉大數(shù)據(jù)工程師等干擾職位。
這里支持多條件復(fù)雜邏輯篩選。
到這里,我們已經(jīng)完成實(shí)戰(zhàn)篇中的清洗過(guò)程中,我這次簡(jiǎn)單化了。以上步驟都能通過(guò)右側(cè)的套用步驟還原和撤銷。這里不會(huì)出現(xiàn)bottomSalery這類列。
之后選擇工具欄的關(guān)閉并套用,報(bào)表數(shù)據(jù)就會(huì)更新。最后數(shù)據(jù)2300多行。
通過(guò)數(shù)據(jù)查詢和報(bào)表DAX公式,我們就能完成數(shù)據(jù)清洗和規(guī)整的步驟。主要思路是:移除重復(fù)值、過(guò)濾目標(biāo)數(shù)據(jù)、清洗臟數(shù)據(jù)、數(shù)據(jù)格式轉(zhuǎn)換。
數(shù)據(jù)關(guān)聯(lián)
我們工作中會(huì)用到很多數(shù)據(jù),不可能依靠一張表走天下。若是在Excel中,我們經(jīng)常用Vlookup函數(shù)將多張表關(guān)聯(lián)匯總。Power BI則用拖拽關(guān)聯(lián)數(shù)據(jù),更方便。一般是先關(guān)聯(lián)再清洗。
因?yàn)槲业臄?shù)據(jù)只有一張表,用不到關(guān)聯(lián),以官網(wǎng)截圖為例。
很簡(jiǎn)單,用拖拽將Product的manufactureId和Manufacturer的manufactureId關(guān)聯(lián),我們可以理解成做了vlookup引用,也可以想成SQL的Join。
分析會(huì)涉及到很多復(fù)雜因素,這些因素相關(guān)的數(shù)據(jù)不會(huì)安安靜靜給你呆在一張表里,而是不同的表,所以需要用到數(shù)據(jù)關(guān)聯(lián)。
數(shù)據(jù)關(guān)聯(lián)在學(xué)習(xí)到SQL后會(huì)更加清晰,這是SQL的核心概念之一。
圖表
進(jìn)入圖表設(shè)計(jì)階段,點(diǎn)擊側(cè)邊欄第一個(gè)項(xiàng)。BI比Excel好的地方在于,它只要拖拽就能設(shè)計(jì)和生成。
點(diǎn)擊任一圖表,畫(huà)布上會(huì)自動(dòng)生成圖形,要切換圖表類型直接點(diǎn)擊其他即可。我們把城市和平均工資拖拽到視覺(jué)效果下的欄目,它會(huì)自動(dòng)生成圖表。不同圖表需要的維度、軸都不一樣,具體按提示進(jìn)行。
視覺(jué)效果下有設(shè)計(jì)選項(xiàng),可以將圖表調(diào)整的更美觀,這里不詳細(xì)介紹了。
點(diǎn)擊新增視覺(jué)效果(繼續(xù)吐槽翻譯),可以繼續(xù)在畫(huà)布上增加圖表。絕大部分BI,都是支持聯(lián)動(dòng)的,所謂聯(lián)動(dòng),通俗講,就是點(diǎn)擊圖表上的維度元素,其他數(shù)據(jù)也會(huì)按此維度相應(yīng)變化。
上圖就是一個(gè)很好的聯(lián)動(dòng)例子,點(diǎn)擊城市維度的北京,其他圖表都變了,平均工資由14.23變成15.23。而學(xué)歷則變成突出顯示,顯示出了北京的博士們薪水遠(yuǎn)高于平均水準(zhǔn)。
圖表聯(lián)動(dòng)帶來(lái)更好的數(shù)據(jù)洞察,將不同數(shù)據(jù)維度的組合和選取,為分析師帶來(lái)決策能力的提升。當(dāng)然我最喜歡的特點(diǎn)之一是省時(shí)間。
通過(guò)不斷的圖表組合,就能生成數(shù)據(jù)分析師自己的分析畫(huà)布。這塊畫(huà)布叫作Dashboard。當(dāng)然圖表好看與否,就取決于分析師的設(shè)計(jì)品味了(這個(gè)我教不了你們,哈哈)。
如果維度過(guò)多,大家可以插入視覺(jué)選項(xiàng)中的交叉篩選器,添加過(guò)濾功能,常用于精細(xì)化的分析,例如時(shí)間維度。圖表右上角按鈕,還能選擇導(dǎo)出數(shù)據(jù),導(dǎo)出一份該圖表的csv數(shù)據(jù)。
我們也能將其發(fā)布到網(wǎng)上,作為同事和企業(yè)間協(xié)作,或者手機(jī)端瀏覽數(shù)據(jù)用。當(dāng)然這里需要注冊(cè)賬號(hào),就看大家意愿了。
更多功能留待大家學(xué)習(xí),到這里,Power BI的新手教程就結(jié)束了。我列舉了常用的功能,不知道大家有沒(méi)有從Excel圖表水平躍升到一個(gè)新階段,大家可以自己拿數(shù)據(jù)做圖表報(bào)告作為分析師行業(yè)的敲門(mén)磚。如果還有疑問(wèn),就借助官網(wǎng)文檔學(xué)習(xí),BI作為一個(gè)領(lǐng)域,它值得數(shù)據(jù)分析師深入。
以下是一些補(bǔ)充:
范例
因?yàn)闀r(shí)間的關(guān)系,我沒(méi)有講解更多的樣式設(shè)計(jì)內(nèi)容。大家可以去官網(wǎng)下載范例,含有原始數(shù)據(jù)練習(xí)。主要是學(xué)習(xí)他人的報(bào)表匯制思路。
另外Power BI的圖表偏少,類似標(biāo)靶圖、箱線圖都沒(méi)有。不過(guò)官網(wǎng)有各類圖表下載。搜索pbiviz即可,沒(méi)有中文。
R集成
Power BI在它內(nèi)部已經(jīng)集成了R語(yǔ)言,沒(méi)錯(cuò),就是統(tǒng)計(jì)學(xué)中的R語(yǔ)言。如果你覺(jué)得視圖功能還不夠強(qiáng)大,那么我們可以利用R來(lái)繪制圖表,甚至借助R做回歸分析等。當(dāng)然R是第七周的內(nèi)容。這里只以官網(wǎng)截圖為例。
數(shù)據(jù)更新
BI很重要的一個(gè)功能是數(shù)據(jù)更新,它是報(bào)表自動(dòng)化的基礎(chǔ),它通常和SQL關(guān)聯(lián)。我們使用CSV,只能往里面黏貼數(shù)據(jù)更新,還是繁瑣了些,只屬于半自動(dòng)化。這將在學(xué)會(huì)SQL后解決。
相關(guān)閱讀
互聯(lián)網(wǎng)數(shù)據(jù)分析能力的養(yǎng)成,需一份七周的提綱
如何七周成為數(shù)據(jù)分析師01:常見(jiàn)的Excel函數(shù)全部涵蓋在這里了
如何七周成為數(shù)據(jù)分析師02:Excel技巧大揭秘
如何七周成為數(shù)據(jù)分析師03:手把手教你Excel實(shí)戰(zhàn)
如何七周成為數(shù)據(jù)分析師:Excel技巧之甘特圖繪制(項(xiàng)目管理)
如何七周成為數(shù)據(jù)分析師:Excel技巧之打造多級(jí)菜單
如何七周成為數(shù)據(jù)分析師04:數(shù)據(jù)可視化之經(jīng)典圖表合集
如何七周成為數(shù)據(jù)分析師05:數(shù)據(jù)可視化之打造升職加薪的報(bào)表
#專欄作家#
秦路,微信公眾號(hào)ID:tracykanc,人人都是產(chǎn)品經(jīng)理專欄作家。
本文由 @秦路?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自PEXELS,基于CC0協(xié)議
這一節(jié)重操作,而不是方法吧?我想知道如何找出核心的業(yè)務(wù)指標(biāo),常見(jiàn)的儀表板設(shè)計(jì)原則有哪些?如何提高BI的性能等等
請(qǐng)問(wèn)數(shù)據(jù)更新是直接復(fù)制粘貼嗎?
不會(huì)爬蟲(chóng)抓取數(shù)據(jù),可以請(qǐng)樓主把抓取的數(shù)據(jù)分享出來(lái)給大家用嗎
沒(méi)找到qinlu的公眾號(hào)啊
公眾號(hào)名稱就叫秦路,微信號(hào):tracykanc
這章節(jié)講的不太容易懂,打開(kāi)軟件看介紹都不知道怎么操作
請(qǐng)?jiān)诠娞?hào):qinlu中的會(huì)話頁(yè)發(fā)送關(guān)鍵詞「練習(xí)數(shù)據(jù)」獲取下載地址。在哪里啊