파워 쿼리 편집기에서 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를 선택합니다.

    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이 이를 처리하는 방법을 살펴봅니다.

    Power Query 편집기는 R 스크립트 다섯 줄을 사용하여 예측 모델을 포함한 누락된 값을 입력했습니다.

R 스크립트 데이터의 시각적 개체 만들기

이제 시각적 개체를 만들어 R 스크립트 코드가 mice 라이브러리를 사용하여 누락된 값을 완성하는 방법을 확인할 수 있습니다.

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이 있는 컴퓨터에 온-프레미스 데이터 게이트웨이(개인 모드)를 설치해야 합니다. 엔터프라이즈 게이트웨이를 사용하여 파워 쿼리에서 R 스크립트가 포함된 의미 체계 모델을 새로 고칠 수 없습니다.

R 및 사용자 지정 쿼리를 사용하여 모든 종류의 작업을 수행할 수 있습니다. 표시하려는 방식으로 데이터를 탐색하고 셰이핑합니다.