此文是《10週入門資料分析》系列的第8篇
想瞭解學習路線,可以先閱讀「10周計劃」。
上一篇分享了資料庫操作和SQL簡單入門,沒想到大家反應如此熱烈,所以本周小編想藉著SQL的勢頭再寫一篇如何成爲快速提升資料視覺化技能。在小編的理解看來,資料視覺化對於任何一份工作來説都可藉鑒參考下:
“資料視覺化” 是一種使用技術手段表達資料結果的一種方式,但是大部分數據視覺化=各種圖表,這是十分外行的想法。
資料視覺化是一個需要理解業務需求、資料結構、資料交互原理、資料表達邏輯以及考察審美的複雜工作。
資料視覺化一般是整個資料分析鏈路的最後一個環節。在資料視覺化之前,我們需要對原始資料進行大量的整理和清洗處理,這一環節首選資料庫SQL,資料處理之後才是分析和視覺化。資料視覺化有兩個方向很值得去嘗試: BI與動態交互圖表。
所以,這裡推薦一個資料視覺化技能的進階路線:SQL+BI+Echarts
接下來以分析一個電商銷售資料的實操案例,來演示如何用SQL、BI和Echarts製作資料視覺化。
為什麼資料分析一定要具備SQL技能?
首先,互聯網公司每天都需要處理大量資料,這些資料不可能都存儲在某個人的PC上。在這種情況下,一般用資料庫來存儲資料,資料都在資料庫裡,SQL又是資料庫語言,所以當然必備了。
其次,Excel對十萬條以內的資料處理起來一點不虛,但是資深的資料分析師還是笑笑說一句:“Too Young Too Sample,大大我搞得都是百萬資料。要百萬資料,就得用資料庫”。
SQL是資料分析師的核心技能之一。有些公司並不給資料庫許可權,需要分析師寫郵件提需求,這非常不好。資料分析師經常有各類假設需要驗證,很多時候寫十幾行SQL就能得到的答案,還得麻煩其他部門匯出資料。
在資料視覺化之前,我們需要對資料進行大量的處理工作,以“某電商訂單”為例。其資料量為37000+,包括7個原始欄位:
下圖演示的是使用最強大的開來源資料庫PostgreSQL處理資料的流程,當然MySQL也用的很多:
· 創建資料庫並導入csv資料
· 查看並刪除相關缺失值
- 列明修改及計算商品打折折扣力度
以上資料整理工作也可以在excel中完成,步驟包括:資料篩選、資料透視、Vlookup連接資料等。但是由於資料量較大,期間你有可能面臨灰屏、死機、程式跳出未保存等各種風險。總結來說,在企業級的資料量處理中,excel是不行的。一般10W以上的資料量都要借助資料庫。
對於SQL(資料庫語言),處理幾萬條乃至更大體量的資料,效率都是非常高,並且SQL語言應該是最容易理解的語言了。
回到視覺化,SQL作為資料視覺化工作的第一步,完成了資料管理及清洗工作。
接下來我們來看看另外兩條路:用BI報表做資料商業價值挖掘,或者用互動式圖表表達資料內容。
FineReport — — 值得推薦的視覺化管理平臺!
個人免費版下載地址: http://www.finereport.com/tw/products/trial
如果你是一名用戶研究分析師:需要瞭解客戶畫像、使用者組成、用戶習慣。
或者你是一名市場資料分析師:需要分析產品銷量、地區排名、供需關係。
亦或是一名財務資料分析師:關注企業資產負債率、現金流動負債率、應收款項周轉率、應收款項周轉率。
你都經常要做一件事 — — 向你的同事、老闆、甲方表達你的研究成果,並且用資料、圖表、表格來展示。那這個時候BI報表是最好的選擇。
BI報表軟體是目前各大公司常用的資料工作和資料視覺化平臺。它可以將資料進行快速準確的整合,計算,並提供出結果圖表及決策依據,輔助決策。
而對於BI報表,目前最推薦的是FineReport,它本身是一個通用的報表工具和資料視覺化工具。就好比Excel,小到可以存儲統計資料、製作各式各樣的資料圖表、dashboard,大到製作財務報表、開發進銷存系統。
· 它可以連接ERP、CRM、OA、MIS在內的各種業務系統資料,作為一個中間資料管理平臺。
· 它可以快速製作報表,搭建統一的資料分析和視覺化平臺。
就因為其強大的資料整合能力,再結合10多年來成熟的視覺化元件,finereport可以製作各類資料視覺化大屏。
接著上面的“電商銷售資料案例”,該資料在清理後,一共有21個品牌4398個商品,那麼如果想瞭解不同品牌的銷售情況,如“最大打折力度”、“銷售相關KPI指數”),
可以通過FineReport來創建以下儀錶盤:
(以下因為並列了其他資料做分析,資料會對不上,理解其操作過程即可)
· 核心指標及KPI框架設計
· 資料圖表製作
· 視覺化儀錶盤設計及結果呈現
BI報表可以解決一部分視覺化分析需求,但它始終是既定好的圖表,只能優化組合,無法自由創作。資料視覺化作為一種表達藝術,
自然有更自由更專業的工具和方式,比如用Echarts製作複雜交互圖表!
Echarts — — 一張圖,一個故事
Echarts Demo地址:https://ecomfe.github.io/echarts-examples/public/index.html
複雜交互圖表是一種蘊含更大體量資料及更複雜資料結構的視覺化,可以使讀者和視覺化圖表之間有更好的互動。其形式包括地理空間視覺化、層次關係網路視覺化、基於時間的多圖表視覺化等等。
使用Echarts的工作流可以簡單概括為:使用SQL將資料處理成合適的格式(這個格式稱為JSON),再讀懂echarts圖表中的JS參數,修改對應參數並載入JSON資料,實現視覺化效果。
還是以”電商銷售資料”為例,我們通過修改現有案例的參數來繪製一個互動式圖表:
· 找範本及參數查閱
- SQL處理資料
- 代碼配置及視覺化圖表呈現
最終的圖表內容中,橫坐標是雙十一前後10天的日期節點,我們選擇了三個品牌來展示不同商品的價格變化趨勢,通過圖表互動,也可以看到三個品牌在雙十一期的打折率、價格和行銷策略的區別:
· 打折思路:雙十一當天最低價,之後漲價但少於雙十一前價格
· 妮維雅產品價格區間主要在100–200元之間;相宜本草產品價格區80–400之間;自然堂產品價格區間較分散
看到這兒,可能很多小夥伴兒會有疑問,以上的兩種視覺化途徑,優劣勢如何,上手難度又怎樣?
其實,上面的工具都很好學,SQL是一種資料庫語言,前面說過了必須掌握,視覺化FineReport本就是拖拽操作,上手非常簡單,除了複雜的資料工作需要寫公式來新增資料欄位,條件陳述式。Echarts需要掌握一點JS語句,熟練了也很容易上手,複雜的需求就不評價了。
應對大部分業務場景的視覺化分析,FineReport就足夠了,自身視覺化效果也有數十種,多了也未必會用。畢竟用起來最簡單。
專業的視覺化,比如新聞視覺化,科學研究,海量資料洞察等,結合Echarts使用的較多,因為開源,而且可以隨意個性化自訂。
最後,多讀多看不如快上手,趕緊學起來嘗試吧!
我是「數據分析那些事」。常年分享資料分析乾貨,不定期分享好用的職場技能工具。
各位朋友如果喜歡我的文章,記得給我clap,也可以關注我的Facebook,給我的臉書按贊呀,期待你與我互動起來~