PowerBI with R

以統計為出發點的 R語言,透過開源軟體的推廣,先後在數學、統計、醫療、科學…等多個領域,累積了廣大的愛好者。在大數據的時代,它將如何與高度視覺化的 PowerBI完美結合呢?本文將介紹如何快速地設定,讓你的程式除了在電腦內運行,也可以發佈至網路,甚至是手機,分享給全世界!

常常被客戶問到 PowerBI 怎麼跑IoT, R, AI...專案?我發現許多人把這個報表工具想得太神了,其實它只是一個呈現工具。藉由微軟在雲端7*24維護的報表伺服器服務,可以讓你隨時隨地用瀏覽器、手機App演示你的報表給別人看…

PowerBI 是一個基礎於之前Excel的開發成果(例如你以前聽過的 PowerPivot, PowerQuery, PowerView, PowerMap Excel add-on),能夠處理 Lambda architecture (包含批次batch 以及串流 streaming)的報表工具,提供在桌機開發(不建議在網頁上開發,網頁僅是讓你微調用的),將Raw data生成模型之後上傳至雲端服務的高度視覺化報表工具。由於它能夠支援的 data type,串接的API很多,為求不發散如題,以下將針對如何呈現 R語言的效果進行介紹。

只需要三步曲,細節可以參考官網的說明。
1.設定 R Server 環境參數
2.透過 Get data 並且輸入 R的程式碼(例如data frame class),若是語法不熟者可以參考這一篇。若成功,則可以在右邊看到新增的欄位選項
3.選用 R元件並拉到畫布,並且在編輯區輸入 R的繪圖程式碼(例如直方圖 X軸Y軸要顯示哪些欄位,甚至是 style選項)

操作細節:
步驟一,雖然你手上可能有大量的 R Script,經過測試是可以運行的,但是只要你想透過 PowerBI來呈現,將它們合二為一。第一步就一定是設定 R Server的所在。所以請從免費的 PowerBI desktop 的左上角找到 File開始我們的設定之旅 ==> File\Options and settings\Options

接著在 Options 中找到 Global中的 R scripting,先在 Detected R home directories 把 R Server (關鍵字為 R或是Open R) 的路徑給它,至於下面的 Detected R IDEs 選上 R Studio 或是空白也可以…按下Ok鍵
如果你是 SQL2016以後的版本且使用內建的 R服務,應該會是像這樣子
步驟二,當環境變數設定完成,接下來就是把資料取得的程式碼給它(建議先在其他的 IDE 環境測試後,因為當場很難 debug),按下 Get data按鈕,就能找到 R scripting的選項。在這裡你可以使用 R 預載的(使用data()指令來查詢有哪些?)或是自己準備的(例如 read.csv 指令) dataset資料集
把資料準備(載入)的程式碼貼到方框中
按下ok
在左邊可以找到物件dataset1,然後點擊它,右邊就會出現預覽畫面
按Load
然後在 PowerBI 右側就會出現 Table以及下一層的 Field欄位可以使用了。

當然有朋友會問,如果資料源(內建的dataset就不談了)是在網路磁碟可以嗎?
也是可以的

步驟三,至於在畫布 Canvas要怎麼設計與呈現,就需要再選到右邊的 R 視覺化元件,一旦選中,下方的 R scripting editor 就是我們編輯程式碼的地方

在 R scripting 程式碼編輯區,按下Run之後便能看到以下結果
其他範例
熱力圖
資料庫備份管理
若是你單機已經成功呈現資料,你可能會打算 publish 到雲端。接下來受限於計費模式,可能會有分享報表或是想建立 dashboard 失敗的機會。以下表來看,若你想要分享給同事,還是要買訂閱制的 professional 版本(9.99美金約320新台幣) 才行。

李秉錡 Christian Lee
Once worked at Microsoft Taiwan