이 자습서에서는 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에 레이크하우스를 연결해야 합니다.
Notebook 설정
이 섹션에서는 Notebook 환경을 설정합니다.
PyPI에서
SemPy를 설치하기 위해 Notebook에서%pip을 인라인으로 사용하세요.%pip install semantic-link-sempy나중에 사용할 모듈을 가져옵니다.
import sempy.fabric as fabricPower BI 작업 영역에 연결하고 작업 영역의 의미 체계 모델을 나열합니다.
fabric.list_datasets()의미 체계 모델을 로드합니다. 이 자습서에서는 소매 분석 샘플 의미 체계 모델을 사용합니다.
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 자습서를 참조하세요.