當PowerBI遇到R語言

PowerBI作為微軟系最新的商務智能辦公系統,自去年發布以來,一直都備受矚目。

它的更新頻次相當之高,功能更新迭代非常迅速。

大概對可視化領域稍有涉獵的朋友們,都明白其中緣由,大數據與雲計算的趨勢席捲全球,海量數據處理成為了限制各行業發展的掣肘。而受制於編程工具的門檻,大部分數據處理業務人員,可能要嚴重依賴Excel以及其他無需編程的可視化自助操作軟體。

以上需求也稱為自助式BI工具,也就是無需IT人員主導的、業務人員可自行操作的商務智能工具。

而目前這個領域,Tableau的成功商業化使其已經贏得先機,廣大的用戶基礎以及多次功能迭代,無論是在可視化呈現形式還是報表的質量上都可圈可點。

微軟帝國必須亮出必殺技了(為什麼沒有蓋茨的軟體在什麼事情上都落後一拍,移動操作系統、搜索、智能終端),前期在office2013版就已推出PowerQuery、PowerPivot、PowerView、PowerMap等四款高質量插件。

在最新的Excel2016版中更是將其封裝成內置程序(這樣就不用自己配置各種環境啦),同時將四件套整合,建立了PowerBI的在線平台和桌面端工具PowerBI Desktop。

雖然PowerBI的可視化圖表類型和質量(受制於開發周期和市場經驗)還不夠完善,但是免費呀(Tableau據說幾千刀呢)……這一條就夠啦……

當然PowerBI自出生始就含著金湯勺,地圖庫是對接的BingMap,依靠PowerQuery的支持具備強大的數據源獲取能力、依靠PowerPivot的支持又增添了功能強大的數據建模處理能力,PowerView與PowerMap結合基本上可以解決大部分的可視化形式。

除此之外,PowerBI的在線社區允許廣大開發者貢獻高質量的、令人眼花繚亂的新型可視化對象。(你以為PowerBI只有內置的那幾款圖表對象嗎,去他的社區看一看吧,裡面能淘到很多好東西)。

第三方可視化庫網址:

Visuals Gallery | Microsoft Power BI

這些可視化視覺對象在社區中被劃分為兩類:

  • Custom visuals

  • R-powered visuals

今天要跟大家分享的內容僅包含內置視覺對象中的R腳本和在線社區的R風格視覺對象。

下面是乾貨~

最近試用了PowerBI的R語言腳本對象功能,雖然用著很蹩腳,但是作為微軟商務智能系統開始嘗試對接主流統計學編程語言的開始,這一步還是很有意義的。

接下來就針對我所經歷的使用體驗跟大家分享一下(其實還是吐槽居多):

PowerBI中支持的R相關的圖表有兩類:

  • 一類是需要在R中自建腳本代碼執行,插入R圖形對象來顯示輸出結果的形式。

  • 另一類是PowerBI線上社區以及官方平台引用並借鑒優秀的R語言可視化包所封裝的PowerBI視覺對象。

第一種需要大家有R基礎,會書寫圖形代碼。導入數據集後,輸入並運行R代碼即可在PowerBI頁面生成R語言風格的可視化圖表。(當然既然是運行的R代碼,前提你PC上肯定得事先安裝好R的Gui程序,如果有Rstudio的話,PowerBI也是支持調用的。)

這種方式基本相當於把PowerBI作為R的第三方IDE了,不過現在稱它為R的第三方IDE確實為時過早,因為……

它的代碼運行效率和操作體驗簡直不能再爛,別說RStudio,就連R的官方Gui界面都要比它好用好幾倍……

  • 代碼時效速度超級慢;

  • 需要事先導入數據集;

  • 只能在數據對象中顯示圖形對象而無法顯示文本信息;

接下來我運行幾段程序作為案例演示:

自建R腳本需要在開始——獲取數據——插入RScript對象:

在彈出的執行R腳本輸入框中以R代碼的形式獲取數據:

data(mtcars)

待連接成功後,導入數據集:

數據模型載入完成後,在PowerBI右側的欄位列表中會列出數據集的所有可用欄位,在左側左上角表格欄目可以展示並預覽整個數據觀測值。

數據集導入之後,在可視化圖表對象中選擇R腳本,並插入,同時將右側欄位列表中需要用到的欄位拖入值區域。

你發會發現,插入R腳本對象後,執行的所有滑鼠操作在R腳本編輯器中都被記錄為R代碼(很類似Excel中的錄製宏啊有木有~)。

現在你可以在R腳本編輯器中自由的編寫並執行代碼了。(代碼與R中的一樣,寫完一句代碼,選中點擊編輯器的運營按鈕)

library(ggplot2)library(RColorBrewer)library(ggthemes)ggplot(mtcars,aes(qsec,disp,colour=factor(cyl)))+geom_point()+theme_economist()+scale_colour_economist()+guides(colour=guide_legend(title=NULL))

ggplot(mtcars,aes(qsec,disp,size=mpg,colour=factor(cyl)))+geom_point()+scale_size_area()+theme_economist()+scale_colour_economist()+guides(colour=guide_legend(title=NULL))

接下來我使用diamonds數據集(來自ggplot2包)

library(ggplot2)library(ggthemes)ggplot(diamonds,aes(depth,fill=color))+geom_histogram()+theme_economist()+scale_fill_economist()+guides(fill=guide_legend(title=NULL))+scale_x_discrete(limits=c(50,70))

雖然以上圖表都很完美的輸出了結果,但是過程還是很艱辛的,PowerBI無法像在R裡面調用數據集那麼方便,每次想換一個數據,都要重新建立一個RScript對象。

下面跟大家介紹關於PowerBI的的第二列R視覺對象,也是個人比較推薦的一類。

因為這些視覺對象是經過開發者努力改造過了,基本上不需要你寫代碼就可以輸出的精美圖表(因為是後台調用的R程序,所以依然需要你事前安裝R軟體)。

這一類圖表對象你可以在PowerBI的線上開發者社區下載到圖表插件和案例demo。

每一個R圖表對象都提供插件下載和Sample獨享可供參考。

下載完事兒之後,在可視化菜單中導入視覺對象。

插入剛才導入的相關性可視化圖表對象,並將要呈現的相關性的欄位拖入Values欄位框中。

之後你會發現圖表對象會自動相關熱力矩陣圖。(顏色深淺代表相關性大小,正為藍,負為紅)

該圖表對象調用的是R中的corrplot函數。我們在RStudio中使用該函數生成相似的案例圖。

library(corrplot)data(mtcars)corr <- cor(mtcars[,c(1,3,4,5,6,7)])corrplot(corr)

看吧是不是很像呢~

和相關性矩陣圖一樣的R圖表視覺對象在社區中一共有6個(包含Correlation plot)。

以上六個圖形視覺對象都是包含著統計演算法和統計模型的視覺可視化對象,經過設計師的精心設計,複雜的統計演算法模型呈現出精美的視覺圖表圖表對象,決策者可以在不用深入了解模型和演算法原理的基礎上,很直觀的領會模型所表達的決策信息。這就是數據可視化的魅力所在。(當然如果能具備這些模型的理論基礎的話,用起來就更加的得心應手啦)

小魔方已經將微軟第三方應用平台的所有視覺對象插件打包整理(包含R對象的幾款插件),共享在魔方學院的QQ群文件里啦,想要體驗的小夥伴兒趕快去下載吧~

聯繫方式:

wechat:ljty1991

Mail:578708965@qq.com

個人公眾號:數據小魔方(datamofang)

團隊公眾號:EasyCharts

qq交流群:[魔方學院]553270834

推薦閱讀:

R語言信息可視化——文字雲
Excel史上最好看的堆積柱形圖
Excel繪製多種風格「條形圖」

TAG:R | PowerBI | 数据可视化 |