在 Power Query 編輯器中使用 R
R 語言是許多統計學家、資料科學家和資料分析師使用的強大程式語言。 您可以在 Power BI Desktop 的 Power Query 編輯器中使用 R:
- 準備資料模型。
- 建立報表。
- 執行清理資料、進階的資料塑造和資料集分析,其包括遺漏資料完成、預測叢集等。
安裝 R
您可以從 CRAN 存放庫免費下載 R。
安裝 mice
您必須在 R 環境中安裝 mice 程式庫,此為先決條件。 若沒有 mice,範例指令碼即無法正常運作。 mice 套件會實作處理遺失資料的方法。
若要安裝 mice 程式庫:
啟動
R.exe
程式,例如C:\Program Files\Microsoft\R Open\R-3.5.3\bin\R.exe
。從 R 提示字元執行安裝命令:
install.packages('mice')
在 Power Query 編輯器中使用 R 指令碼
為了示範在 Power Query 編輯器中使用 R,此範例會使用包含在 .csv 檔案中的股市語意模型。
下載 EuStockMarkets_NA.csv 檔案。 請記住您儲存的位置。
將檔案載入至 Power BI Desktop。 從 [常用] 索引標籤,選取 [取得資料] > [文字/CSV]。
選取 EuStockMarkets_NA.csv 檔案,然後選擇 [開啟]。 CSV 資料隨即顯示在 [文字/CSV 檔案] 對話方塊中。
選取 [載入] 從檔案載入資料。 在 Power BI Desktop 載入資料之後,新資料表即會出現在 [欄位] 窗格中。
若要開啟 Power Query 編輯器,請從 [常用] 功能區選取 [轉換資料]。
在 [轉換] 索引標籤中,選取 [執行 R 指令碼]。 隨即出現執行 R 指令碼編輯器。 資料列 15 和 20 包含遺漏資料,其他您在影像中看不到的資料列也包含遺漏資料。 下列步驟會示範 R 如何為您完成這些資料列。
在此範例中,請在 [執行 R 指令碼] 視窗的 [指令碼] 方塊中,輸入下列指令碼。
library(mice) tempData <- mice(dataset,m=1,maxit=50,meth='pmm',seed=100) completedData <- complete(tempData,1) output <- dataset output$completedValues <- completedData$"SMI missing values"
注意
您可能需要覆寫名為 output 的變數,才能正確建立套用篩選的新語意模型。
選取 [確定]。 Power Query 編輯器會顯示有關資料隱私權的警告。
請選取警告訊息內的 [繼續]。 在出現的 [隱私權等級] 對話方塊中,將所有資料來源設為 [公用],R 指令碼才能在 Power BI 服務中正常運作。
如需隱私權設定及其含意的詳細資訊,請參閱 Power BI Desktop 隱私權等級。
選取 [儲存] 以執行指令碼。
執行指令碼時,您會看到下列結果:
當您在出現的資料表中選取 [輸出] 旁的 [資料表] 時,資料表會顯示,如下圖所示。
注意 [欄位] 窗格中稱為 completedValues 的新資料行。 SMI 遺漏值資料行有幾個遺漏的資料元素。 請參閱下一節,看 R 如何處理該狀況。
Power Query 編輯器僅使用五行的 R 指令碼,即透過預測模型填入遺失的值。
從 R 指令碼資料建立視覺效果
我們現在可以建立視覺效果來查看 R 指令碼和 mice 程式庫如何補齊遺失的值。
您可以將所有完成的視覺效果儲存在一個 Power BI Desktop .pbix 檔案中,然後在 Power BI 服務中使用資料模型及其 R 指令碼。
注意
在將 .pbix 檔案上傳到 Power BI 服務後,您需要採取其他步驟來啟用服務資料重新整理和更新後的視覺效果:
啟用語意模型的排程重新整理:若要使用 R 指令碼為包含語意模型的活頁簿啟用排程的重新整理,請參閱設定排程的重新整理。 本文也包含內部部署閘道的相關資訊。
安裝閘道:您需要在檔案和 R 所在的電腦上安裝內部部署資料閘道 (個人模式)。 Power BI 服務會存取該活頁簿,並重新轉譯任何更新後的視覺效果。 如需詳細資訊,請參閱在 Power BI 中使用個人閘道。
考量與限制
建立於 Power Query 編輯器中並含有 R 指令碼的查詢有幾項限制:
所有 R 資料來源設定都必須設為 [公開]。 Power Query 編輯器查詢中所有其他步驟也都必須是公開的。
若要前往資料來源設定,請在 Power BI Desktop 中,選取 [檔案]>[選項和設定]>[資料來源設定]。
在 [資料來源設定] 對話方塊中,選取一或多個資料來源,然後選取 [編輯權限]。 將 [隱私權層級] 設為 [公用]。
若要排程 R 視覺效果或語意模型的重新整理,請啟用排程的重新整理,並在包含活頁簿和 R 的電腦上安裝內部部署資料閘道 (個人模式)。您無法使用企業閘道來重新整理 Power Query 中包含 R 指令碼的語意模型。
相關內容
您可以使用 R 和自訂查詢執行所有各種作業。 以您想要的方式來探索和塑造資料。