R是一種專門用於數據分析和統計的腳本語言,廣泛應用在每一個需要統計和數據分析的領域。PowerBI支持R腳本,兩者強強結合,使PowerBI的功能更加強大。PowerBI Desktop默認沒有安裝R,在使用R腳本之前,必須向PowerBI Desktop中安裝R引擎。用戶可以使用R腳本加載數據、對數據進行轉換和處理、使用R腳本圖形化顯示數據,這意味着,PowerBI對R的支持是深度融合的,在數據處理的各個階段都能使用R。而且,為了便於開發人員使用R進行編程,PowerBI可以直接調用R外部IDE,編程體驗更好。
我的PowerBI開發系列的文章目錄:PowerBI開發
一,安裝R引擎
在使用R之前,用戶必須向本地主機中安裝R引擎。安裝的過程非常簡單,用戶只需要點擊File菜單,選擇“Options and settings”,打開“Options”窗口,切換到“R scripting”選項卡,根據提示的幫助,安裝R引擎和R外部IDE。
R引擎安裝的根目錄由“Detected R home directories”指定,用於R編程的外部IDE由“Detected R IDEs”指定,如下圖,R外部的IDE是R Studio,R根目錄是:C:\Program Files\R\R-3.4.3
如果本地主機已經安裝了R引擎和R IDE,PowerBI會自動探測到,用戶只需要從下來列表中選擇相應的列表項。
二,使用R腳本加載數據
數據是數據分析的原材料,R腳本是PowerBI加載數據的一種方法,工作流程是:PowerBI執行R腳本,按照R代碼邏輯對數據源進行加工和處理,把最終的數據加載到PowerBI中,創建一個查詢(Query),用於代表該數據集。
和其他加載方式一樣,用戶需要通過“Get Data”菜單來加載數據,從Other分類中,選擇R Script,輸入R腳本,保存之后,PowerBI自動執行腳本,處理並加載數據。R腳本數據源的圖標如下:
點擊該圖標,打開一個R Script的窗體,例如,輸入R腳本,該腳本末尾包含一個數據框,作為最終的輸出:
三,使用R 轉換數據(Transfrom)
在查詢編輯器(Query Editor)中,切換到轉換(Transform)菜單,用戶可以使用“Run R Script”菜單對數據進行轉換加工,以生成新的Query,R數據轉換的圖標如下圖:
用戶編寫R腳本對現有的數據進行轉換操作,如下圖,PowerBI自動創建一個dataset變量,該變量是數據框類型,作為轉換的輸入數據;R腳本轉換對dataset進行數據處理,最終生成適合業務邏輯的輸出數據,輸出數據的變量名是output,類型是數據框。使用R腳本對數據進行轉換操作。
注意:如果Query中包含Date類型的字段,請首先把Date轉換為字符(text)類型,執行完R腳本之后,再把該字段轉換為Date類型。這是PowerBI的一個bug,后續可能會被修復。
示例腳本如下圖:
四,使用R顯示數據
在Visualization列表中,選擇 R Script Visual,圖標如下:
用戶啟用R腳本之后,向R腳本編輯器中輸入字段,例如,向R腳本編輯器中插入兩個字段x1和x2,該字段作為R visual的輸入字段。
PowerBI 自動創建數據框dataset,移除重復的數據行。用戶編寫自定義的代碼,對輸入數據dataset進行處理和重塑,最后編寫繪圖代碼顯示數據,例如:
一般來說,R腳本包含兩部分:
- 用於處理數據的代碼;
- 用於繪圖的代碼;
參考文檔: