01 寫在前面
為什么要寫【數(shù)據(jù)分析工具】這個(gè)系列文章?還是回到一個(gè)最根本的問題上:數(shù)據(jù)分析到底是干什么的?
數(shù)據(jù)分析雖然是以業(yè)務(wù)為主,工具為輔,業(yè)務(wù)為目的,工具為手段,但巧婦難為無米之炊,只有掌握了基礎(chǔ)的工具才能夠進(jìn)行數(shù)據(jù)分析。但工具千千萬,Excel、SQL、Python/R、SPSS、SAS、PowerBI/Tableau,到底哪些才是數(shù)據(jù)分析師日常工作中必備的工具?哪些是沒有必要花費(fèi)時(shí)間精力的花架子?數(shù)據(jù)分析工具這個(gè)系列,我們就一起來看一下哪些是數(shù)據(jù)分析師真正需要熟練掌握的工具!
Excel是目前最基礎(chǔ)、也是應(yīng)用最廣的數(shù)據(jù)分析工具,百萬行級(jí)別以下最好用的數(shù)據(jù)分析工具,沒有之一,不接受反駁!熟練使用Excel,能夠解決數(shù)據(jù)分析中80%的問題,而且非常靈活、快速和高效,所以Excel作為數(shù)據(jù)分析師必備的基本技能,重要性不言而喻。
很多想入行數(shù)據(jù)分析的小伙伴學(xué)習(xí)Excel沒有經(jīng)過系統(tǒng)的指引與訓(xùn)練,而往往是來自于各種東拼西湊的知識(shí),感覺自己很懂Excel,所以簡歷上就非常自信地寫上了“精通Excel”這樣不知天高地厚的字眼,面試一問起來才發(fā)現(xiàn)自己的純真和無知。是的,當(dāng)你還覺得Excel很low很簡單的時(shí)候,說明你還沒有被它震撼和教育過,越是精通Excel的大神越會(huì)覺得它的強(qiáng)大和自己的無知。
那么想入行數(shù)據(jù)分析的同學(xué)來說,怎么快速高效地掌握Excel這個(gè)數(shù)據(jù)分析的利器呢?根據(jù)筆者多年來的工作經(jīng)驗(yàn),作為數(shù)據(jù)分析師,提升Excel水平可以按照這樣的學(xué)習(xí)路徑:
1)基本操作包括數(shù)據(jù)的簡單處理匯總、圖表制作等,屬于Excel基礎(chǔ)知識(shí),一般大家都能正常使用。
2)熟練掌握常用的函數(shù)后,你就可以做簡單的數(shù)據(jù)統(tǒng)計(jì)、分析和數(shù)據(jù)可視化等工作了。
3)為了進(jìn)一步從不同維度對(duì)關(guān)心的指標(biāo)進(jìn)行上卷、下鉆分析,還需要非常熟練地掌握數(shù)據(jù)透視表,這也是Excel最為強(qiáng)大、使用最為頻繁的功能。
4)為了實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)分析,解決不同數(shù)據(jù)源、海量數(shù)據(jù)的分析問題,我們就需要掌握PowerQuery和PowerPivot,PowerQuery負(fù)責(zé)整合多重來源數(shù)據(jù),并進(jìn)行數(shù)據(jù)轉(zhuǎn)換,PowerPivot對(duì)整合后的規(guī)范化數(shù)據(jù)進(jìn)行高效率的透視分析,幾百萬上千萬行數(shù)據(jù)均不在話下。
5)當(dāng)然,這個(gè)時(shí)候可能還不夠,因?yàn)槠綍r(shí)還有很多任務(wù)是需要每天手動(dòng)處理的,所以PowerBI橫空出世了,PowerBI融合了PowerQuery和PowerPivot的功能,你可以利用PowerBI制作好你想要監(jiān)控的核心報(bào)表,以后只要更新數(shù)據(jù)源,報(bào)表就能自動(dòng)化生成,再也不用每天重復(fù)地復(fù)制粘貼做表格了!
前面已經(jīng)總結(jié)了一些數(shù)據(jù)分析工具,有興趣的可以翻看之前的文章,包括:
1、【數(shù)據(jù)分析工具】手把手教你制作Excel儀表盤
2、【數(shù)據(jù)分析工具】數(shù)據(jù)分析必知必會(huì)的Excel函數(shù)(文末領(lǐng)取Excel教程)
3、【數(shù)據(jù)分析工具】Excel數(shù)據(jù)透視表:菜鳥也能做數(shù)據(jù)分析(文末領(lǐng)取教程)
4、【數(shù)據(jù)分析工具】Excel也能玩轉(zhuǎn)大數(shù)據(jù)分析,超級(jí)透視表Power Pivot
圖片
02 什么是Power BI?
在大數(shù)據(jù)時(shí)代,隨著數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)觀念的普及,商業(yè)智能BI(Business Intelligence)已經(jīng)成為了,但究竟什么是BI?不同的人可能有不同的答案。這里我用最簡單直白的方式給出我的理解:商業(yè)智能 (BI)是一系列技術(shù)和工具,通過可視化這種更易于理解和傳遞的形式,洞察海量數(shù)據(jù)背后的業(yè)務(wù)價(jià)值,完成從數(shù)據(jù)到信息的過程,進(jìn)而幫助業(yè)務(wù)做出更有效的商業(yè)決策。
而談到BI,我們就不得不提一下微軟旗下這款風(fēng)靡全球的BI神器:Power BI!
Power BI,這個(gè)名字在 BI 市場已經(jīng)存在很長時(shí)間了。微軟團(tuán)隊(duì)長期以來一直致力于構(gòu)建一個(gè)名為 Power BI 的工具包,這個(gè)工具包是強(qiáng)大數(shù)據(jù)整合、處理和可視化的工具組合。它可以整合來自不同數(shù)據(jù)源的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換等預(yù)處理,并提供基于云服務(wù)的可視化,方便用戶創(chuàng)建交互式的儀表板和分析報(bào)告。為企業(yè)提供數(shù)據(jù)洞察,幫助進(jìn)行業(yè)務(wù)決策。
有了PowerBI這一整套技術(shù)方案,數(shù)據(jù)分析師可以低門檻、自助式地進(jìn)行數(shù)據(jù)分析,方便地創(chuàng)建各種主題的分析報(bào)告和高交互性的儀表板,而不必依賴信息技術(shù)人員或數(shù)據(jù)庫管理員來開發(fā)可視化報(bào)表。
Power BI之所以能夠輕松地實(shí)現(xiàn)如此強(qiáng)大的功能,是因?yàn)樗泻芏鄰?qiáng)大組件的加持。
圖片
Power Query:它可用于搜索、訪問和轉(zhuǎn)換公共和/或內(nèi)部數(shù)據(jù)源。
Power Pivot:用于內(nèi)存分析的數(shù)據(jù)建模。
Power View:您可以使用 Power View 以交互式數(shù)據(jù)可視化的形式分析、可視化和顯示數(shù)據(jù)。
Power Map:它通過交互式地理可視化使數(shù)據(jù)栩栩如生。
Power BI Service: 您可以共享可從本地和基于云的數(shù)據(jù)源刷新的數(shù)據(jù)視圖和工作簿。
Power BI Q&A: 通過自然語言查詢提出問題并立即獲得答案。
Data Management Gateway: 通過使用此組件,您可以獲得定期數(shù)據(jù)刷新、公開表和查看數(shù)據(jù)饋送。
Data catalog:用戶可以使用數(shù)據(jù)目錄輕松發(fā)現(xiàn)和重用查詢。元數(shù)據(jù)可以促進(jìn)搜索功能。
對(duì)Power BI的定位、架構(gòu)、組件和功能有個(gè)大致的了解后,我們通過一個(gè)實(shí)際案例,一步一步來創(chuàng)建一個(gè)完整的數(shù)據(jù)可視化報(bào)表。
03 Power BI實(shí)際案例介紹
在進(jìn)行這部分之前,我們首先需要在這里https://powerbi.microsoft.com/zh-cn/下載并安裝PowerBI Desktop,安裝過程非常簡單,這里不再贅述。
我們這里以一個(gè)非常熟悉的銷售數(shù)據(jù)分析為例,介紹PowerBI的使用步驟。在這個(gè)案例里,為了展示Power BI整合不同的數(shù)據(jù)源的能力,我們將使用來自兩個(gè)數(shù)據(jù)源的數(shù)據(jù),這種情況在實(shí)際業(yè)務(wù)中也很常見,很多數(shù)據(jù)都是來源于不同的數(shù)據(jù)源。
數(shù)據(jù)分布在多個(gè)數(shù)據(jù)源中是很常見的,例如一個(gè)數(shù)據(jù)庫中的產(chǎn)品信息和另一個(gè)數(shù)據(jù)庫中的銷售信息。您將在本文檔中學(xué)習(xí)的技術(shù)包括 Excel 工作簿和 OData 源,但這些技術(shù)也可以應(yīng)用于其他數(shù)據(jù)源,如SQL Server 查詢、CSV 文件或 Power BI Desktop 中的任何數(shù)據(jù)源。
在案例中,我們將從 Excel(產(chǎn)品信息表)和 OData 源(訂單信息表)導(dǎo)入數(shù)據(jù),并會(huì)做一些數(shù)據(jù)轉(zhuǎn)換和清洗的操作,最終創(chuàng)建基于PowerBI銷售數(shù)據(jù)分析的可視化報(bào)表。
這是最終可視化報(bào)表的樣子:
圖片
本案例中涉及到的數(shù)據(jù)以及整個(gè)可視化報(bào)表資料,可以在文末獲取下載方式!
04 Power BI中導(dǎo)入數(shù)據(jù)
1、從Excel中導(dǎo)入產(chǎn)品信息
首先,我們要把記錄產(chǎn)品信息的Excel工作簿產(chǎn)品信息.xlsx 文件導(dǎo)入到Power BI Desktop。
1、啟動(dòng)Power BI Desktop.
2、從主頁功能區(qū)中,選擇獲取數(shù)據(jù), Excel 是最常見的數(shù)據(jù)連接方式之一,也可以直接選擇它,導(dǎo)入我們事先準(zhǔn)備好的產(chǎn)品信息.xlsx。
圖片
3、在導(dǎo)航器窗格中,選擇,然后選擇轉(zhuǎn)換數(shù)據(jù),就會(huì)出現(xiàn)數(shù)據(jù)編輯Power Query的窗口,在這里我們可以對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。
圖片
2、產(chǎn)品信息表Products預(yù)處理
在Power Query編輯器中,我們把產(chǎn)品信息表中除 ProductID、ProductName、UnitsInStock 和 QuantityPerUnit之外的所有列刪掉,因?yàn)槠渌牧形覀兎治鰰r(shí)用不到。步驟如下:
1、在編輯器中,選擇 ProductID、ProductName、QuantityPerUnit 和UnitsInStock 列(使用 Ctrl+單擊選擇多個(gè)列,或使用Shift+單擊選擇彼此相鄰的列)。
2、從功能區(qū)中選擇移除列 > 移除其他列,或右鍵單擊列標(biāo)題并單擊移除其他列。
圖片
當(dāng)Power Query編輯器連接到數(shù)據(jù)時(shí),它會(huì)檢查每個(gè)字段并確定最佳數(shù)據(jù)類型。對(duì)于 Excel 工作簿,庫存產(chǎn)品將始終為整數(shù),因此在此步驟中,我們需要確認(rèn) UnitsInStock 列的數(shù)據(jù)類型為整數(shù)。
1、選擇 UnitsInStock 列,發(fā)現(xiàn)該列數(shù)據(jù)存在小數(shù)。
2、右鍵該列在下拉框中選擇更改類型-整數(shù),即可將數(shù)據(jù)類型更改為整數(shù)。
圖片
3、從Odata源導(dǎo)入訂單數(shù)據(jù)
還需要導(dǎo)入訂單數(shù)據(jù),我們通過連接OData 源導(dǎo)入訂單數(shù)據(jù)。在OData源中輸入以下鏈接:http://services.odata.org/V3/Northwind/Northwind.svc/,步驟與之前類似,只是這里導(dǎo)入的數(shù)據(jù)源不同。
步驟如下:
1、主頁-獲取數(shù)據(jù)-選擇 OData數(shù)據(jù)源。
2、在OData 源對(duì)話框中,粘貼OData源的URL:http://services.odata.org/V3/Northwind/Northwind.svc/。
3、該數(shù)據(jù)源下有多個(gè)表,在導(dǎo)航菜單中,選擇訂單表Orders,然后選擇轉(zhuǎn)換數(shù)據(jù)。
圖片
4、訂單信息表Orders預(yù)處理
訂單表Orders 中包含了對(duì)訂單明細(xì)表Order_Details的引用,Order_Details記錄了每筆訂單中單個(gè)產(chǎn)品的單價(jià)、數(shù)量等數(shù)據(jù)。因?yàn)槲覀円y(tǒng)計(jì)具體到產(chǎn)品粒度的銷售數(shù)據(jù),所以需要用到Order_Details中的一些字段。
1、點(diǎn)擊展開Order_Details 表,將其中的 ProductID、UnitPrice和 Quantity 列展開到 Orders 表中,合并作為訂單信息表Orders中的列。
圖片
2、類似的,我們把訂單信息表中除 OrderDate、ShipCity、ShipCountry、Order_Details.ProductID、Order_Details.UnitPrice 和 Order_Details.Quantity 列之外的所有列刪除。因?yàn)槲覀兇舜畏治鲋杏貌坏竭@些列。
3、以上操作完成后,點(diǎn)擊左上角關(guān)閉并應(yīng)用,就完成了整個(gè)數(shù)據(jù)的導(dǎo)入和預(yù)處理過程,回到報(bào)表界面,我們可以基于處理好的數(shù)據(jù)創(chuàng)建計(jì)算列、度量值進(jìn)行分析和可視化報(bào)表制作。
圖片
05 創(chuàng)建數(shù)據(jù)模型
在上面的步驟中,我們已經(jīng)完成了兩個(gè)數(shù)據(jù)源的導(dǎo)入和數(shù)據(jù)的預(yù)處理,在正式進(jìn)行數(shù)據(jù)分析之前,我們需要建立數(shù)據(jù)模型,即建立訂單信息表Orders和產(chǎn)品信息表之間的關(guān)聯(lián)關(guān)系,這樣Power BI 才能夠?qū)蓚€(gè)表進(jìn)行關(guān)聯(lián)組合,合起來進(jìn)行分析。
在本教程中,我們通過兩個(gè)表共有的“ProductID”字段關(guān)聯(lián)訂單信息表和產(chǎn)品信息表,使兩個(gè)表產(chǎn)生關(guān)系,建立數(shù)據(jù)模型。
步驟如下:
1、在報(bào)表視圖下,在“建?!惫ぞ邫谙拢x擇“管理關(guān)系”。
2、選擇新建按鈕,在彈出的創(chuàng)建關(guān)系的對(duì)話框中,選擇兩個(gè)表Orders和。
3、分別選擇兩個(gè)表的ProductID 字段,就通過該字段在兩個(gè)表建立了關(guān)聯(lián)關(guān)系。
圖片
4、切換到關(guān)系視圖,也能看到兩個(gè)表之間的關(guān)聯(lián)關(guān)系已通過箭頭連接表示。
圖片
06 DAX創(chuàng)建度量值
上述步驟已經(jīng)完成了數(shù)據(jù)的導(dǎo)入、預(yù)處理和數(shù)據(jù)建模,接下來就可以通過定義一些計(jì)算列和度量值進(jìn)行分析了。
在創(chuàng)建計(jì)算列和度量值之前,我們先簡單的說一下這兩者之間的區(qū)別,因?yàn)檫@兩個(gè)概念很容易讓人混淆。
計(jì)算列基于現(xiàn)有的列創(chuàng)建的一個(gè)新列,直接體現(xiàn)為在現(xiàn)有的表上增加了一列,新建的計(jì)算列,和表中之前已經(jīng)存在的列一樣,可以作為表格的行、列,圖表的軸以及切片器的字段等等,也可以使用計(jì)算列與其他表建立關(guān)系。
度量值就是一個(gè)孤立的公式,是基于現(xiàn)有的列進(jìn)行計(jì)算的結(jié)果,并不會(huì)作為一列出現(xiàn)在表中,一般是用作一些聚合操作,比如求和、計(jì)數(shù)、求平均等,都是用度量值實(shí)現(xiàn)的。
1、創(chuàng)建計(jì)算列
如果我們要計(jì)算每個(gè)產(chǎn)品ProductID的銷售額,我們知道銷售額=銷量*單價(jià),相當(dāng)于在現(xiàn)有數(shù)據(jù)最后添加一列銷售額,創(chuàng)建一個(gè)自定義計(jì)算列來計(jì)算每一行每個(gè)產(chǎn)品的銷售額。
步驟如下:
1、在報(bào)表視圖中,右鍵單擊右側(cè)訂單信息表Orders,單擊新建列。
2、在彈出的公式欄中,輸入LineTotal=Orders[UnitPrice]*Orders[Quantity],Enter確定。
圖片
2、創(chuàng)建度量值
上面僅創(chuàng)建了一個(gè)計(jì)算列LineTotal,可以看到每個(gè)產(chǎn)品的銷售額數(shù)據(jù),但是如果我們想要進(jìn)行匯總聚合,在日期、國家維度上看整體的銷售量、銷售額等數(shù)據(jù),我們就需要通過創(chuàng)建度量值來實(shí)現(xiàn)了。
基于我們之后要進(jìn)行的分析,我們需要?jiǎng)?chuàng)建以下幾個(gè)度量值,我們先將對(duì)應(yīng)的公式寫出來,然后再在Power BI中創(chuàng)建度量值:
1、銷售量:對(duì)訂單信息表Orders中的Quantity字段進(jìn)行求和
2、銷售額:對(duì)訂單信息表Orders中的每個(gè)產(chǎn)品的銷售額LineTotal字段進(jìn)行求和
3、平均客單價(jià):上面計(jì)算的銷售額/銷售量
4、銷售額月同比增長率:本年某月銷售額/去年同期銷售額-1
5、銷售額月環(huán)比增長率:本年某月銷售額/本年上月銷售額-1
按照上述計(jì)算邏輯,在報(bào)表視圖下,右鍵訂單信息表Orders,點(diǎn)擊“新建度量值”:
圖片
創(chuàng)建對(duì)應(yīng)的度量值如下:
1、銷售量TotalQuantity,直接對(duì)Quantity字段求和
圖片
2、銷售額TotalSales,直接對(duì)計(jì)算列LineTtoal字段求和
圖片
3、平均客單價(jià)AvgPrice,可以通過上面新建的度量值再計(jì)算
圖片
4、去年同期銷售額,使用了SAMPERIODLASTYEAR函數(shù),獲取當(dāng)前時(shí)間對(duì)應(yīng)的去年同期時(shí)間,進(jìn)而計(jì)算去年同期的銷售額
圖片
5、銷售額月同比,本期銷售額/去年同期銷售額-1
圖片
6、本年上期銷售額,使用DATEADD函數(shù)獲取當(dāng)前時(shí)間的上一月,進(jìn)而計(jì)算上一個(gè)月的銷售額
圖片
7、銷售額月環(huán)比,本期銷售額/上期銷售額-1
圖片
也許你會(huì)發(fā)現(xiàn),這里面有一些語法好像沒有見過,比如CALCULATE,這里涉及到DAX上下文的理解,DAX非常強(qiáng)大,但也不容易理解,這里篇幅有限,不再展開,有興趣的同學(xué)可以深入研究。
07 創(chuàng)建可視化報(bào)表
Power BI 是一個(gè)強(qiáng)大的BI工具,可以通過托拉拽方便地創(chuàng)建可視化報(bào)表,通過圖形化的形式快速洞察數(shù)據(jù)背后的業(yè)務(wù)信息。Power BI提供了很多豐富的圖表,基于之前創(chuàng)建的度量值等,我們可以通過創(chuàng)建不同的圖形形成一個(gè)完整的可視化報(bào)表。下面我們就來一步步創(chuàng)建這個(gè)報(bào)表。
1、整體概覽
一般情況下,我們希望通過一些核心指標(biāo)快速判斷當(dāng)前業(yè)務(wù)的整體情況,而不是直接關(guān)注到細(xì)節(jié)。在報(bào)表中,我們通常會(huì)將這些核心指標(biāo)顯示在最上方顯眼處,這樣我們就可以快速得知當(dāng)前業(yè)務(wù)情況,我們把之前新建的度量值:銷售量、銷售額、客單價(jià)、銷售額同比增長率、銷售額環(huán)比增長率這5個(gè)核心指標(biāo)依次選取,然后選擇“多行卡”,即可把核心指標(biāo)監(jiān)控如下圖所示。
圖片
2、各國家/區(qū)域銷售量分布
如果我們想直觀地獲取各個(gè)國家/區(qū)域的銷售數(shù)量情況,選擇可視化圖表“地圖”,將shipCountryt拖入到“位置”框,將度量值TotalQuantity拖入“大小”框,地圖中圓圈大小展現(xiàn)各國家的銷售量情況,將地圖放大后如下圖所示。
圖片
3、各國家/區(qū)域銷售額占比
如果我們想直觀地獲取各個(gè)國家/區(qū)域的銷售額占比,選擇可視化圖表“餅圖”,將shipCountryt拖入到“圖例”框,將度量值TotalSales拖入“值”框,即可展示個(gè)國家/區(qū)域銷售額占比情況,如下圖所示。
圖片
4、各國家/區(qū)域客單價(jià)排名
如果我們想分析各個(gè)國家/區(qū)域的客單價(jià)排名情況,選擇可視化圖表“堆積條形圖”,將shipCountryt拖入到“軸”框,將度量值A(chǔ)vgPrice拖入“值”框,即可展示個(gè)國家/區(qū)域客單價(jià)的排名情況,如下圖所示。
圖片
5、整體銷售額趨勢
如果我們想看整體銷售額的變化趨勢,選擇可視化圖表“折線圖”,將OrderDate拖入到“軸”框,將度量值TotalSales拖入“值”框,即可展示整體銷售額歷史以來的變化趨勢,如下圖所示。
圖片
6、篩選器
為了方便我們查看特定時(shí)間范圍內(nèi)的數(shù)據(jù),我們可以添加時(shí)間篩選器,放置在報(bào)表上方,當(dāng)我們選定時(shí)間范圍后,報(bào)表里各個(gè)圖表的數(shù)據(jù)會(huì)和篩選器交互,僅顯示篩選器范圍內(nèi)的數(shù)據(jù),如下圖,我們將日期設(shè)置為1998年,報(bào)表的數(shù)據(jù)會(huì)跟著更新。類似的,我們可以添加國家/區(qū)域的篩選器,進(jìn)而篩選特定國家/區(qū)域的數(shù)據(jù),這里不再贅述。
圖片
07
發(fā)布Power BI報(bào)表
通過上面的步驟,我們已經(jīng)用Power BI成功創(chuàng)建了一個(gè)可視化報(bào)表。接下來我們可以繼續(xù)將報(bào)告發(fā)布到網(wǎng)絡(luò)上。
點(diǎn)擊文件→發(fā)布→發(fā)布到Power BI,發(fā)布報(bào)表后,Power BI 會(huì)提供一個(gè)鏈接。我們可以單擊該鏈接并在報(bào)告發(fā)布后查看,且Power BI為了更加方便地提供數(shù)據(jù)洞察,智能化地形成了一些數(shù)據(jù)的快速見解,方便我們進(jìn)行深入的數(shù)據(jù)分析。
圖片
以上就是數(shù)據(jù)分析工具—Power BI部分的內(nèi)容,部分?jǐn)?shù)據(jù)分析工具請(qǐng)翻看歷史文章,更多數(shù)據(jù)分析工具的文章持續(xù)更新中,敬請(qǐng)期待,如果覺得不錯(cuò),也歡迎分享、點(diǎn)贊和點(diǎn)在看哈~