Python을 사용하여 Power BI 시각적 개체 만들기

이 자습서에서는 Power BI Desktop에서 Python 데이터를 사용하여 시각적 개체 만드는 방법에 대해 설명합니다. Python, Pandas 및 Matplotlib 라이브러리를 사용하여 시각적 보고서를 만드는 데 사용할 수 있는 여러 옵션 및 기능을 사용합니다.

필수 조건

다음을 수행하려면 Power BI Desktop에서 Python 스크립트 실행을 진행합니다.

  • 로컬 컴퓨터에 Python을 설치합니다.

  • Power BI Desktop에서 Python 스크립팅을 사용하도록 설정합니다.

  • pandasMatplotlib Python 라이브러리를 설치합니다.

  • 다음 Python 스크립트를 Power BI Desktop으로 가져옵니다.

    import pandas as pd 
    df = pd.DataFrame({ 
        'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'], 
        'Age':[21,34,42,18,24,80,22], 
        'Weight': [180, 130, 200, 140, 176, 142, 210], 
        'Gender':['M','F','M','M','F','M','M'], 
        'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
        'Children':[4,1,2,3,0,2,0],
        'Pets':[3,2,2,5,0,1,5] 
    }) 
    print (df) 
    

Power BI Desktop에서 Python 시각적 개체 만들기

  1. Python 스크립트를 가져왔으면 Power BI Desktop의 시각화 창에서 Python 시각적 개체 아이콘을 선택합니다.

    Screenshot that shows the Python option in Visualizations.

  2. 표시되는 스크립트 시각적 개체 사용 대화 상자에서 사용을 선택합니다.

    Python 시각적 개체 이미지 자리 표시자가 보고서 캔버스에 나타나고 Python 스크립트 편집기가 가운데 창 아래쪽에 나타납니다.

    Screenshot that shows the Python script editor.

  3. Age, Children, Fname, Gender, Pets, State, Weight 필드를 여기에 데이터 필드 추가라고 표시된 섹션으로 끌어옵니다.

    Screenshot that shows Drag to Add data fields here.

    선택 사항에 따라 Python 스크립트 편집기에서 다음과 같은 바인딩 코드가 생성됩니다.

    • 추가한 필드를 사용하여 편집기에서 데이터 세트 데이터 프레임이 생성됩니다.
    • 기본 집계는 요약 안 함입니다.
    • 테이블 시각적 개체와 마찬가지로 필드는 그룹화되고 중복 행은 한 번만 표시됩니다.
  4. 선택한 필드에 의해 데이터 프레임이 자동으로 생성되면 Python 기본 디바이스에 그림으로 표시될 Python 스크립트를 작성할 수 있습니다. 스크립트가 완료되면 Python 스크립트 편집기 제목 표시줄에서 실행 아이콘을 선택하여 스크립트를 실행하고 시각적 개체를 생성합니다.

    Screenshot that shows the Python script editor with initial comments.

  • Python 스크립트에서는 섹션에 추가된 필드만 사용할 수 있습니다. Python 스크립트 작업을 수행하는 동안 필드를 추가하거나 제거할 수 있습니다. Power BI Desktop에서 필드 변경 내용을 자동으로 검색합니다. 섹션에서 필드를 선택하거나 제거하면, Python 스크립트 편집기에서 지원되는 코드가 자동으로 생성되거나 제거됩니다.

  • 자동 그룹화를 사용하지 않거나 중복 항목을 포함하여 모든 행을 표시하려 할 수도 있습니다. 이 경우, 데이터 세트에 인덱스 필드를 추가하면 모든 행이 고유한 행으로 간주되어 그룹화되지 않습니다.

  • 이름을 사용하여 데이터 세트의 열에 액세스할 수 있습니다. 예를 들어 Python 스크립트에서 dataset["Age"]를 코딩하면 Age 필드에 액세스할 수 있습니다.

  • Power BI Desktop에서는 Python 스크립트 편집기 제목 표시줄에서 실행을 선택하거나 데이터 새로 고침, 필터링 또는 강조 표시로 인해 데이터가 변경될 때마다 시각적 개체를 다시 그립니다.

  • 오류가 발생하는 Python 스크립트를 실행하면 Python 시각적 개체가 그려지지 않고 캔버스에 오류 메시지가 나타납니다. 오류 정보를 보려면 메시지에서 세부 정보 보기를 선택합니다.

  • 시각화 요소를 더 크게 보려면 Python 스크립트 편집기를 최소화하면 됩니다.

산점도 만들기

연령과 체중 간에 상관관계가 있는지 확인하기 위해 산점도를 만듭니다.

  1. Python 스크립트 편집기여기에 스크립트 코드를 붙여넣거나 입력에서 다음 코드를 입력합니다.

    import matplotlib.pyplot as plt 
    dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
    plt.show() 
    

    이제 Python 스크립트 편집기 창이 다음 이미지와 같이 표시됩니다.

    Screenshot that shows the Python script editor with commands.

    이 코드는 시각적 개체를 그리고 만드는 Matplotlib 라이브러리를 가져옵니다.

  2. 스크립트 실행 단추를 선택하여 Python 시각적 개체에서 다음 산점도를 생성합니다.

    Screenshot that shows the scatter plot visualization generated from the Python script.

여러 개의 열이 있는 꺾은선형 그림 만들기

자녀와 애완동물 수를 표시하는 각 개인의 선 플롯을 만들어 봅니다.

  1. 여기에 스크립트 코드를 붙여 넣거나 입력에서 이전 코드를 제거하거나 주석 처리하고 다음 Python 코드를 입력합니다.

    import matplotlib.pyplot as plt 
    ax = plt.gca() 
    dataset.plot(kind='line',x='Fname',y='Children',ax=ax) 
    dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax) 
    plt.show() 
    
  2. 실행 단추를 선택하여 다음과 같이 여러 열이 있는 선 플롯을 생성합니다.

    Screenshot that shows a line plot with multiple columns from the Python script.

가로 막대형 그림 만들기

각 개인의 연령을 나타내는 막대 플롯을 만들어 봅니다.

  1. 여기에 스크립트 코드를 붙여 넣거나 입력에서 이전 코드를 제거하거나 주석 처리하고 다음 Python 코드를 입력합니다.

    import matplotlib.pyplot as plt 
    dataset.plot(kind='bar',x='Fname',y='Age') 
    plt.show() 
    
  2. 실행 단추를 선택하여 다음과 같이 막대 플롯을 생성합니다.

    Screenshot that shows a bar plot from the Python script.

제한 사항

Power BI Desktop의 Python 시각적 개체에는 다음과 같은 제한 사항이 있습니다.

  • Python 시각적 개체가 그리기에 사용하는 데이터는 150,000개 행으로 제한됩니다. 150,000개를 초과하는 행을 선택할 경우 상위 150,000개만 사용되고 이미지에 메시지가 표시됩니다. 또한 입력 데이터는 250MB로 제한됩니다.

  • Python 시각적 개체의 입력 데이터 세트에 32,766자보다 긴 문자열 값을 포함하는 열이 있는 경우 해당 값은 잘립니다.

  • 모든 Python의 시각적 개체는 72DPI 해상도로 표시됩니다.

  • Python 시각적 개체 계산 시간이 5분을 초과하면 실행 시간이 초과되어 오류가 발생합니다.

  • 다른 Power BI Desktop 시각적 개체와 마찬가지로 테이블 간의 관계가 정의되지 않은 여러 테이블의 데이터 필드를 선택하면 오류가 발생합니다.

  • 데이터 업데이트, 필터링 및 강조 표시가 발생하면 Python의 시각적 개체가 새로 고쳐집니다. 이미지 자체는 대화형 성격을 띠지 않습니다.

  • 다른 시각적 개체를 강조 표시하면 Python 시각적 개체가 그에 응답하지만, Python 시각적 개체의 요소를 선택하여 다른 요소를 교차 필터링할 수는 없습니다.

  • Python 기본 디스플레이 디바이스에 그려지는 플롯만 캔버스에 올바르게 표시됩니다. 다른 Python 디스플레이 디바이스를 명시적으로 사용하지 마세요.

  • Python 시각적 개체는 입력 열의 이름 바꾸기를 지원하지 않습니다. 열은 스크립트 실행 중에 원래 이름으로 참조됩니다.

보안

Python 시각적 개체는 보안 또는 프라이버시 위험에 대한 코드가 포함된 Python 스크립트를 사용합니다. Python 시각적 개체를 처음으로 보거나 상호 작용하려고 하면 보안 경고가 표시됩니다. 작성자와 원본을 신뢰하거나 Python 스크립트를 검토하고 해석한 경우에만 Python 시각적 개체를 사용합니다.

라이선스

Python 시각적 개체는 보고서, 새로 고침, 필터 및 교차 필터를 렌더링하는 데 Power BI Pro 또는 PPU(사용자 단위 Premium) 라이선스가 필요합니다. Power BI의 무료 사용자는 프리미엄 작업 영역에서 사용자와 공유된 타일만 사용할 수 있습니다.

다음 표는 라이선스를 기준으로 Python 시각적 개체 기능을 설명합니다.

Power BI Desktop에서 Python 시각적 개체 작성 Python 시각적 개체를 사용하여 Power BI 서비스 보고서 만들기 보고서의 Python 시각적 개체 보기
게스트(Power BI embedded) 지원됨 지원되지 않음 프리미엄/Azure 용량에서만 지원됨
관리되지 않는 테넌트(도메인 확인되지 않음) 지원됨 지원되지 않음 지원되지 않음
무료 라이선스로 관리되는 테넌트 지원됨 지원되지 않음 프리미엄 용량에서만 지원됨
Pro 또는 PPU 라이선스로 관리되는 테넌트 지원됨 지원 지원됨

Power BI Pro 라이선스 및 무료 라이선스와의 차이점에 대한 자세한 내용은 Power BI Pro 사용자 라이선스 구매 및 할당을 참조하세요.

이 자습서에서는 Python, Pandas 및 Matplotlib 라이브러리를 사용하여 시각적 보고서를 만드는 옵션과 기능에 대해 거의 다루지 않습니다. 자세한 내용은 다음 리소스를 참조하세요.

Power BI의 Python에 대한 자세한 내용은 다음을 참조하세요.