共用方式為


在 Power Query 編輯器中使用 R

R 語言是許多統計學家、資料科學家和資料分析師使用的強大程式語言。 您可以在 Power BI Desktop 的 Power Query 編輯器中使用 R:

  • 準備資料模型。
  • 建立報表。
  • 執行清理資料、進階的資料塑造和資料集分析,其包括遺漏資料完成、預測叢集等。

安裝 R

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

安裝 mice

您必須在 R 環境中安裝 mice 程式庫,此為先決條件。 若沒有 mice,範例指令碼即無法正常運作。 mice 套件會實作處理遺失資料的方法。

若要安裝 mice 程式庫:

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

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

    install.packages('mice') 
    

在 Power Query 編輯器中使用 R 指令碼

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

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

  2. 將檔案載入至 Power BI Desktop。 從 [常用] 索引標籤,選取 [取得資料] > [文字/CSV]

    螢幕擷取畫面顯示 [取得資料] 選項,您可以在其中選取 [文字/CSV]。

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

    顯示所選取 .csv 檔案內容的螢幕擷取畫面。

  4. 選取 [載入] 從檔案載入資料。 在 Power BI Desktop 載入資料之後,新資料表即會出現在 [欄位] 窗格中。

    顯示 [欄位] 窗格中資料的螢幕擷取畫面。

  5. 若要開啟 Power Query 編輯器,請從 [常用] 功能區選取 [轉換資料]

    顯示 [常用] 功能區的螢幕擷取畫面,其中已強調顯示 [轉換資料]。

  6. 在 [轉換] 索引標籤中,選取 [執行 R 指令碼]。 隨即出現執行 R 指令碼編輯器。 資料列 15 和 20 包含遺漏資料,其他您在影像中看不到的資料列也包含遺漏資料。 下列步驟會示範 R 如何為您完成這些資料列。

    螢幕擷取畫面顯示已選取 [執行 R 指令碼] 的 Power Query 編輯器。

  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 編輯器會顯示有關資料隱私權的警告。

    螢幕擷取畫面顯示具有 [繼續] 選項的資料隱私權警告。

  9. 請選取警告訊息內的 [繼續]。 在出現的 [隱私權等級] 對話方塊中,將所有資料來源設為 [公用],R 指令碼才能在 Power BI 服務中正常運作。

    螢幕擷取畫面顯示已選取 [公用隱私權] 的 [隱私權層級] 對話方塊。

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

  10. 選取 [儲存] 以執行指令碼。

    執行指令碼時,您會看到下列結果:

    R 指令碼結果的螢幕擷取畫面。

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

    來自 R 指令碼的資料表結果的螢幕擷取畫面。

    注意 [欄位] 窗格中稱為 completedValues 的新資料行。 SMI 遺漏值資料行有幾個遺漏的資料元素。 請參閱下一節,看 R 如何處理該狀況。

    Power Query 編輯器僅使用五行的 R 指令碼,即透過預測模型填入遺失的值。

從 R 指令碼資料建立視覺效果

我們現在可以建立視覺效果來查看 R 指令碼和 mice 程式庫如何補齊遺失的值。

顯示包含遺漏值和已完成值的 R 指令碼視覺效果的螢幕擷取畫面。

您可以將所有完成的視覺效果儲存在一個 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 和自訂查詢執行所有各種作業。 以您想要的方式來探索和塑造資料。