다음을 통해 공유


Jupyter Notebook에서 Power BI 측정값 추출 및 계산

이 자습서에서는 SemPy(미리 보기)를 사용하여 Power BI 의미 체계 모델의 측정값을 계산하는 방법을 보여 줍니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • SemPy(의미 체계 링크 라이브러리)의 Python 인터페이스를 사용하여 프로그래밍 방식으로 Power BI 측정값 평가
  • AI 및 BI를 연결하는 데 도움이 되는 SemPy 구성 요소에 대해 알아봅니다.
    • FabricDataFrame - 의미 정보로 향상된 pandas와 유사한 구조체
    • 원시 데이터, 구성 및 측정값을 포함하여 의미 체계 모델을 가져오는 함수

필수 조건

  • Microsoft Fabric 구독을 구매합니다. 또는 무료 Microsoft Fabric 평가판에 등록합니다.

  • Microsoft Fabric에 로그인합니다.

  • 홈 페이지의 왼쪽 아래에 있는 환경 전환기를 사용하여 패브릭으로 전환합니다.

    환경 전환기 메뉴에서 패브릭을 선택하는 방법을 보여 주는 스크린샷.

  • 탐색 창에서 작업 영역을 선택한 다음 작업 영역을 선택하여 현재 작업 영역으로 설정합니다.

  • 소매 분석 샘플 PBIX.pbix 의미 체계 모델을 다운로드하여 작업 영역에 업로드합니다.

노트북에서 내용을 따라 하세요

이 자습서에는 powerbi_measures_tutorial.ipynb Notebook이 함께 제공됩니다.

Notebook 설정

이 섹션에서는 Notebook 환경을 설정합니다.

  1. PyPI에서 SemPy를 설치하기 위해 Notebook에서 %pip을 인라인으로 사용하세요.

    %pip install semantic-link-sempy
    
  2. 나중에 사용할 모듈을 가져옵니다.

    import sempy.fabric as fabric
    
  3. Power BI 작업 영역에 연결하고 작업 영역의 의미 체계 모델을 나열합니다.

    fabric.list_datasets()
    
  4. 의미 체계 모델을 로드합니다. 이 자습서에서는 소매 분석 샘플 의미 체계 모델을 사용합니다.

    dataset = "Retail Analysis Sample"
    
    dataset = "Retail Analysis Sample PBIX"
    

작업 영역 측정값 나열

SemPy를 list_measures 사용하여 의미 체계 모델의 측정값을 나열합니다.

fabric.list_measures(dataset)

측정값 평가

SemPy의 evaluate_measure 함수를 사용하여 다양한 방법으로 측정값을 평가합니다.

원시 측정값 평가

SemPy 함수 evaluate_measure 를 사용하여 "평균 판매 영역 크기"라는 미리 구성된 측정값을 계산합니다.

fabric.evaluate_measure(dataset, measure="Average Selling Area Size")

groupby_columns을 통해 측정값 평가

매개 변수를 사용하여 groupby_columns 결과를 열별로 그룹화합니다.

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

이 코드는 Store[Chain]Store[DistrictName]을 기준으로 그룹화합니다.

필터를 통해 측정값 평가

매개 변수를 filters 사용하여 결과를 특정 열 값으로 제한합니다.

fabric.evaluate_measure(dataset, \
                        measure="Total Units Last Year", \
                        groupby_columns=["Store[Territory]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})

이 예제 Store 에서는 테이블이고 열 Territory 이며 PA 허용되는 값입니다.

여러 테이블에서 측정값 평가

의미 체계 모델의 여러 테이블에서 열별로 그룹화합니다.

fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])

여러 측정값 평가

이 함수를 evaluate_measure 사용하면 여러 측정값 식별자를 제공하고 계산된 값을 단일 DataFrame값으로 반환할 수 있습니다.

fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Power BI XMLA 커넥터 사용

기본 의미 체계 모델 클라이언트는 Power BI REST API를 사용합니다. 이 클라이언트에서 쿼리가 실패하는 경우 설정 use_xmla=True하여 Power BI XMLA 엔드포인트로 전환합니다. SemPy 매개 변수는 XMLA를 사용한 측정값 계산과 동일합니다.

fabric.evaluate_measure(dataset, \
                        measure=["Average Selling Area Size", "Total Stores"], \
                        groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
                        use_xmla=True)

다른 의미 체계 링크 및 SemPy 자습서를 참조하세요.