在 Power Query 編輯器 中使用 R

R 語言是功能強大的程式設計語言,許多統計人員、數據科學家和數據分析師都會使用。 您可以在 Power BI Desktop 的 Power Query 編輯器 中使用 R 來:

  • 準備數據模型。
  • 建立報表。
  • 進行數據清理、進階數據成形和語意模型分析,包括遺漏數據完成、預測、叢集等等。

安裝 R

您可以從 CRAN 存放庫免費下載 R。

安裝滑鼠

作為必要條件,您必須在 R 環境中安裝 mouse 連結 。 如果沒有滑鼠,範例腳本程式代碼將無法正常運作。 mouse 封裝會實作方法來處理遺漏的數據。

若要安裝 mouse 連結庫:

  1. R.exe啟動程式,例如 C:\Program Files\Microsoft\R Open\R-3.5.3\bin\R.exe

  2. 從 R 提示字元執行 install 命令:

    install.packages('mice') 
    

在 Power Query 編輯器 中使用 R 腳稿

為了示範在 Power Query 編輯器 中使用 R,此範例會使用包含在.csv檔案中的股市語意模型。

  1. 下載EuStockMarkets_NA.csv檔案。 請記住您儲存的位置。

  2. 將檔案載入 Power BI Desktop。 從 [首頁] 索引標籤中,選取 [取得數據>文字/CSV]。

    Screenshot shows the Get data option where you can select Text/CSV.

  3. 選取EuStockMarkets_NA.csv檔案,然後選擇 [開啟]。 CSV 資料會顯示在 [文字/CSV 檔案 ] 對話框中。

    Screenshot shows the contents of the selected .csv file.

  4. 選取 [載入 ] 以從檔案載入數據。 Power BI Desktop 載入數據之後,新的數據表會出現在 [ 字段 ] 窗格中。

    Screenshot shows data in the Fields pane.

  5. 若要開啟 Power Query 編輯器,請從 [首頁] 功能區選取 [轉換數據]。

    Screenshot shows the Home ribbon with Transform data highlighted.

  6. 從 [轉換] 索引標籤中,選取 [執行 R 腳稿]。 [ 執行 R 文稿 編輯器] 隨即出現。 數據列 15 和 20 有遺漏數據,如同您在影像中看不到的其他數據列一樣。 下列步驟顯示 R 如何為您完成這些資料列。

    [Screenshot shows Power Query Editor with Run R Script selected.

  7. 在此範例中,請在 [執行 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 的變數,以正確建立套用篩選的新語意模型。

  8. 選取 [確定]。 Power Query 編輯器 會顯示有關數據隱私權的警告。

    Screenshot shows data privacy warning with a Continue option.

  9. 在警告訊息內,選取 [ 繼續]。 在顯示的 [隱私權層級] 對話框中,將所有數據源設定為 [公用],讓 R 腳本在 Power BI 服務 中正常運作。

    Screenshot shows the Privacy levels dialog with Public privacy selected.

    如需隱私權設定及其含意的詳細資訊,請參閱 Power BI Desktop 隱私權等級

  10. 選取 [ 儲存 ] 以執行文稿。

    當您執行文稿時,您會看到下列結果:

    Screenshot of results of R script.

    當您在出現的數據表中選取 [輸出] 旁的 [數據表] 時,會顯示數據表,如下圖所示。

    Screenshot of table results from R script.

    請注意 [欄位] 窗格中名為 completedValues 的新數據行。 SMI 遺漏值數據行有幾個遺漏的數據元素。 看看 R 如何處理下一節。

    只要使用五行 R 腳本,Power Query 編輯器 以預測模型填入遺漏的值。

從 R 文稿數據建立視覺效果

我們現在可以建立視覺效果來查看 R 腳本程式代碼與滑鼠連結庫如何完成遺漏的值。

Screenshot shows an R script visual that includes missing values and completed values.

您可以將所有已完成的視覺效果儲存在一個 Power BI Desktop .pbix 檔案中,並在 Power BI 服務 中使用數據模型及其 R 腳本。

注意

您可以 下載 .pbix 檔案 ,並完成所有這些步驟。

將 .pbix 檔案上傳至 Power BI 服務 之後,您必須採取其他步驟來啟用服務數據重新整理和更新的視覺效果:

  • 啟用語意模型的排程重新整理:若要使用 R 腳本啟用包含語意模型的活頁簿排程重新整理,請參閱 設定排程的重新整理。 本文也包含內部部署數據網關的相關信息。

  • 安裝閘道:您需要在檔案和 R 所在的電腦上安裝內部部署數據閘道(個人模式)。 Power BI 服務 會存取該活頁簿,並重新轉譯任何更新的視覺效果。 如需詳細資訊,請參閱 在Power BI中使用個人閘道。

考量與限制

查詢有一些限制,包括 Power Query 編輯器 中建立的 R 腳稿:

  • 所有 R 數據源設定都必須設定為 [公用]。 Power Query 編輯器 查詢中的所有其他步驟也必須是公用的。

    若要取得數據源設定,請在Power BI Desktop 中選取 [檔案>選項] 和 [>資料源設定]。

    Screenshot shows the Options and Settings dialog where you can select Data source settings.

    在 [ 數據源設定 ] 對話框中,選取一或多個數據源,然後選取 [ 編輯許可權]。 將 [ 隱私權等級 ] 設定為 [公用]。

    Screenshot shows Data source settings dialog where you can edit permissions.

  • 若要排程 R 視覺效果或語意模型的重新整理,請啟用排程的重新整理,並在包含活頁簿和 R 的電腦上安裝內部部署數據閘道(個人模式)。您無法使用企業閘道來重新整理 Power Query 中包含 R 腳稿的語意模型。

您可以使用 R 和自訂查詢來執行各種工作。 探索並塑造數據的方式,就像您希望數據出現的方式一樣。