Power Query 편집기에서 Python 사용

Power BI Desktop Power Query 편집기에서 통계학자, 데이터 과학자 및 데이터 분석에 의해 널리 사용되는 프로그래밍 언어인 Python을 사용할 수 있습니다. Python을 Power Query 편집기에 통합하면 Python을 사용하여 데이터 정리를 수행하고 누락된 데이터, 예측, 클러스터링을 완성하는 작업을 포함하여 데이터 세트에서 고급 데이터 셰이핑 및 분석을 수행할 수 있습니다. Python은 강력한 언어이며 파워 쿼리 편집기에서 데이터 모델을 준비하고 보고서를 만드는 데 사용될 수 있습니다.

필수 조건

시작하기 전에 Python 및 pandas를 설치해야 합니다.

  • Python 설치 - Power BI Desktop의 파워 쿼리 편집기에서 Python을 사용하려면 로컬 머신에 Python을 설치해야 합니다. 공식 Python 다운로드 페이지Anaconda를 비롯한 여러 위치에서 무료로 Python을 다운로드 및 설치할 수 있습니다.

  • pandas 설치 - 파워 쿼리 편집기에서 Python을 사용하려면 pandas를 설치해야 합니다. Pandas는 Power BI와 Python 환경 간에 데이터를 이동하는 데 사용됩니다.

Power Query 편집기로 Python 사용

Power Query 편집기에서 Python을 사용하는 방법을 보여 주려면 .CSV 파일 형식의 주식 시장 데이터 세트 예제를 가져오세요. 여기에서 다운로드하여 진행할 수 있습니다. 이 예제의 단계는 다음과 같습니다.

  1. 먼저 데이터를 Power BI Desktop으로 로드합니다. 이 예제에서는 EuStockMarkets_NA.csv 파일을 로드하고, Power BI Desktop 리본에서 데이터 가져오기>텍스트/CSV를 선택합니다.

    Screenshot of the Get Data ribbon in Power BI Desktop, showing the CSV selection.

  2. 파일을 선택하고 열기를 선택하면 CSV는 CSV 파일 대화 상자에 표시됩니다.

    Screenshot of the CSV file dialog, showing the selected CSV.

  3. 데이터가 로드되면 Power BI Desktop필드 창에 표시됩니다.

    Screenshot of the Fields pane, showing the loaded data.

  4. Power BI Desktop 탭에서 데이터 변환을 선택하여 Power Query 편집기를 엽니다.

    Screenshot of the Power Query Editor in Power BI Desktop, showing the Transform data selection.

  5. 변환 탭에서 Python 스크립트 실행을 선택하면 다음 단계에서처럼 Python 스크립트 실행 편집기가 나타납니다. 15, 20행에는 데이터 누락이 발생하며, 다음 이미지에서 볼 수 없는 다른 행도 마찬가지입니다. 다음 단계에서는 Python을 통해 그러한 행들이 완성되는 방법을 보여 줍니다.

    Screenshot of the Transform tab, showing rows of data.

  6. 이 예제에서는 다음 스크립트 코드를 입력합니다.

    import pandas as pd
    completedData = dataset.fillna(method='backfill', inplace=False)
    dataset["completedValues"] =  completedData["SMI missing values"]
    

    참고 항목

    이전의 스크립트 코드가 제대로 작동하려면 Python 환경에 pandas 라이브러리가 설치되어 있어야 합니다. pandas를 설치하려면 Python 설치에서 명령 pip install pandas를 실행합니다.

    Python 스크립트 실행 대화 상자에 삽입했을 때 코드는 다음 예제와 같이 표시됩니다.

    Screenshot of the Run Python Script dialog, showing the script code.

  7. 확인을 선택하면 Power Query 편집기에서 데이터 개인 정보 보호에 대한 경고를 표시합니다.

    Screenshot of the Power Query Editor pane, showing the warning about data privacy.

  8. Python 스크립트가 Power BI 서비스에서 제대로 작동하려면 모든 데이터 원본이 ‘공용’으로 설정되어야 합니다. 개인 정보 설정 및 해당 구현에 대한 자세한 내용은 개인 정보 수준을 참조하세요.

    Screenshot of the Privacy levels dialog, showing that Public is set.

    필드 창에서 completedValues라는 새 열을 확인할 수 있습니다. 행 15, 18에서와 같은 몇 가지 누락된 데이터 요소가 있습니다. 다음 섹션에서는 Python이 이를 처리하는 방법을 살펴봅니다.

Power Query 편집기는 Python 스크립트 세 줄만 사용하여 예측 모델로 누락된 값을 입력했습니다.

Python 스크립트 데이터를 통해 시각적 개체 만들기

이제 시각적 개체를 만들어 다음 이미지에 보이는 것처럼 pandas 라이브러리를 사용하는 Python 스크립트 코드가 누락된 값을 완성하는 방법을 확인할 수 있습니다.

Screenshot of the visual, showing original data and completed missing values of the pandas library.

시각적 개체가 완성되면 Power BI Desktop을 사용하여 만들고자 하는 다른 시각적 개체에서 Power BI Desktop 파일을 저장할 수 있습니다. Power BI Desktop 파일은 .pbix 파일 이름 확장명으로 저장합니다. 그런 다음, 데이터 모델의 일부인 Python 스크립트를 포함한 데이터 모델을 Power BI 서비스에서 사용합니다.

참고 항목

이러한 단계를 완료한 .pbix 파일을 보시겠습니까? 다행히 해결 방법이 있습니다. 이 예제에서 사용한 완료된 Power BI Desktop 파일을 지금 바로 다운로드할 수 있습니다.

.pbix 파일을 Power BI 서비스에 업로드하면 몇 가지 추가 단계로 서비스에서 데이터 새로 고침을 사용 설정하고 서비스에서 시각적 개체의 업데이트를 사용 설정해야 합니다. 시각적 개체를 업데이트하려면 데이터에 Python에 대한 액세스 권한이 있어야 합니다. 다른 단계는 다음과 같습니다.

  • 데이터 세트에 예약된 새로 고침을 사용 설정합니다. Python 스크립트를 통해 데이터 세트를 포함하는 통합 문서에 대해 예약된 새로 고침을 사용하려면 예약된 새로 고침 구성을 참조하세요. 여기에는 개인 게이트웨이에 대한 정보도 포함되어 있습니다.
  • 개인 게이트웨이를 설치합니다. 파일이 위치하고 Python이 설치된 컴퓨터에 개인 게이트웨이가 설치되어 있어야 합니다. Power BI 서비스는 해당 통합 문서에 액세스하고 업데이트된 시각적 개체를 모두 다시 렌더링해야 합니다. 자세한 내용은 개인 게이트웨이 설치 및 구성을 참조하세요.

고려 사항 및 제한 사항

Power Query 편집기에서 만든 Python 스크립트를 포함하는 쿼리에는 몇 가지 제한 사항이 있습니다.

  • 모든 Python 데이터 원본은 ‘퍼블릭’으로 설정되어야 하고 Power Query 편집기에서 만든 쿼리의 다른 모든 단계도 퍼블릭이어야 합니다. 데이터 원본 설정으로 이동하려면 Power BI Desktop에서 파일 > 옵션 및 설정 > 데이터 원본 설정을 선택합니다.

    Screenshot of the File menu in Power BI Desktop, showing the Data source settings selection.

    데이터 원본 설정 대화 상자에서 데이터 원본을 선택한 다음, 사용 권한 편집...을 선택하고 개인 정보 수준이 퍼블릭으로 설정되었는지 확인합니다.

    Screenshot of the Data source settings dialog, showing the Privacy Level is set to Public.

  • Python 시각적 개체 또는 데이터 세트의 예약된 새로 고침을 사용하려면 예약된 새로 고침을 사용하도록 설정하고 통합 문서 및 Python 설치가 있는 컴퓨터에 개인 게이트웨이를 설치해야 합니다. 둘 다에 대한 자세한 내용은 이 문서의 이전 섹션을 참조하며 여기서 각각에 대한 자세한 내용을 알아보는 링크를 제공합니다.

  • 테이블의 테이블인 중첩 테이블은 현재 지원되지 않습니다.

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