Power BI 의미 체계 모델에서 관계 탐색 및 유효성 검사
이 문서에서는 SemPy 모듈을 사용하여 Power BI 의미 체계 모델 및 pandas DataFrames 내에서 관계를 검색하고 유효성을 검사하는 방법을 알아봅니다.
데이터 과학 및 기계 학습에서는 데이터 내의 구조와 관계를 이해하는 것이 중요합니다. Power BI는 데이터를 모델링하고 시각화할 수 있는 강력한 도구이지만, 더 많은 인사이트를 얻거나 기계 학습 모델을 빌드하기 위해 의미 체계 모델의 구조를 자세히 살펴보아야 하는 경우도 있습니다. 데이터 과학자 및 비즈니스 분석가는 SemPy 라이브러리의 다양한 기능을 사용하여 Power BI 의미 체계 모델 또는 pandas DataFrame 내의 관계를 탐색할 수 있습니다.
다음에 대해 알아봅니다.
- Power BI 의미 체계 모델에서 관계 찾기, 시각화 및 탐색
- pandas DataFrame에서 관계 찾기 및 유효성 검사
필수 조건
Microsoft Fabric 구독을 구매합니다. 또는 무료 Microsoft Fabric 평가판에 등록합니다.
Microsoft Fabric에 로그인합니다.
홈페이지 왼쪽의 환경 전환기를 사용하여 Synapse 데이터 과학 환경으로 전환합니다.
- Microsoft Fabric의 데이터 과학 환경으로 이동합니다.
- 새 Notebook을 만들어 코드를 복사/셀에 붙여넣습니다.
- Spark 3.4 이상의 경우 패브릭을 사용할 때 기본 런타임에서 의미 체계 링크를 사용할 수 있으며 설치할 필요가 없습니다. Spark 3.3 이하를 사용하거나 최신 버전의 의미 체계 링크로 업데이트하려는 경우 다음 명령을 실행할 수 있습니다.
python %pip install -U semantic-link
- Notebook에 Lakehouse를 추가합니다. Spark 3.4 이상의 경우 패브릭을 사용할 때 기본 런타임에서 의미 체계 링크를 사용할 수 있으며 설치할 필요가 없습니다. Spark 3.3 이하를 사용하거나 최신 버전의 의미 체계 링크로 업데이트하려는 경우 다음 명령을 실행할 수 있습니다.
python %pip install -U semantic-link
의미 체계 모델에서 관계 찾기
이 list_relationships
함수를 사용하면 Power BI 의미 체계 모델 내에서 찾은 모든 관계 목록을 검색하여 데이터의 구조와 서로 다른 테이블 및 열이 연결되는 방식을 더 잘 이해할 수 있습니다.
이 함수는 의미 체계 모델 내의 관계를 이해하는 데 필요한 메타데이터를 포함하는 주석이 추가된 DataFrame을 제공하는 의미 체계 링크를 활용하여 작동합니다. 이를 통해 의미 체계 모델의 구조를 쉽게 분석하고 기계 학습 모델 또는 기타 데이터 분석 작업에서 사용할 수 있습니다.
함수를 list_relationships
사용하려면 먼저 모듈을 sempy.fabric
가져와야 합니다.
그런 다음, 다음 코드와 같이 Power BI 의미 체계 모델의 이름 또는 UUID를 사용하여 함수를 호출할 수 있습니다.
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
이전 코드는 함수가 list_relationships
my_dataset이라는 Power BI 의미 체계 모델로 호출되었음을 보여줍니다.
이 함수는 관계당 하나의 행이 있는 pandas DataFrame을 반환하므로 의미 체계 모델 내의 관계를 쉽게 탐색하고 분석할 수 있습니다.
팁
Notebook, 의미 체계 모델(Power BI 데이터 세트) 및 Lakehouse 는 동일한 작업 영역 또는 다른 작업 영역에 있을 수 있습니다. 기본적으로 SemPy는 다음에서 의미 체계 모델에 액세스하려고 합니다.
- Lakehouse를 전자 필기장에 연결한 경우 Lakehouse의 작업 영역입니다.
- 연결된 Lakehouse가 없는 경우 전자 필기장의 작업 영역입니다.
SemPy가 액세스하려고 하는 기본 작업 영역에 의미 체계 모델이 없는 경우 SemPy 메서드를 호출할 때 의미 체계 모델의 작업 영역을 지정해야 합니다.
의미 체계 모델에서 관계 시각화
이 함수는 plot_relationship_metadata
의미 체계 모델의 구조를 더 잘 이해할 수 있도록 의미 체계 모델에서 관계를 시각화하는 데 도움이 됩니다.
이 함수를 사용하면 테이블과 열 간의 연결을 표시하는 그래프를 만들어 의미 체계 모델의 구조와 다양한 요소가 어떻게 관련되어 있는지 쉽게 이해할 수 있습니다.
다음 코드는 함수를 사용하는 plot_relationship_metadata
방법을 보여줍니다.
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
이전 코드에서 함수는 list_relationships
my_dataset 의미 체계 모델의 관계를 검색하고 plot_relationship_metadata
이러한 관계를 시각화하는 그래프를 만듭니다.
포함할 열을 지정하고 누락된 키를 처리하는 방법을 지정하고 더 많은 graphviz 특성을 제공하여 그래프를 사용자 지정할 수 있습니다.
의미 체계 모델에서 관계 위반 살펴보기
이제 의미 체계 모델 내의 관계를 더 잘 이해했으므로 이러한 관계의 유효성을 검사하고 잠재적인 문제 또는 불일치를 식별해야 합니다. 함수가 list_relationship_violations
들어오는 위치입니다.
이 함수를 list_relationship_violations
사용하면 테이블 내용의 유효성을 검사하여 의미 체계 모델에 정의된 관계와 일치하는지 확인할 수 있습니다.
이 함수를 사용하면 지정된 관계 곱셈과의 불일치를 식별하고 데이터 분석 또는 기계 학습 모델에 영향을 주기 전에 문제를 해결할 수 있습니다.
함수를 list_relationship_violations
사용하려면 먼저 모듈을 sempy.fabric
가져오고 의미 체계 모델에서 테이블을 읽어야 합니다.
그런 다음 테이블 내용을 사용하여 테이블 이름을 DataFrames에 매핑하는 사전을 사용하여 함수를 호출할 수 있습니다.
다음 코드는 관계 위반을 나열하는 방법을 보여 줍니다.
import sempy.fabric as fabric
tables = {
"Sales": fabric.read_table("my_dataset", "Sales"),
"Products": fabric.read_table("my_dataset", "Products"),
"Customers": fabric.read_table("my_dataset", "Customers"),
}
fabric.list_relationship_violations(tables)
이전 코드 list_relationship_violations
에서 함수는 my_dataset 의미 체계 모델의 Sales, Products 및 Customers 테이블을 포함하는 사전을 사용하여 호출됩니다.
이 함수는 관계 위반당 하나의 행이 있는 pandas DataFrame을 반환하므로 의미 체계 모델 내에서 문제를 쉽게 식별하고 해결할 수 있습니다.
누락된 키를 처리하는 방법을 지정하고, 검사 임계값을 설정하고, 보고할 누락된 키 수를 정의하여 함수를 사용자 지정할 수 있습니다.
이 함수를 list_relationship_violations
사용하면 의미 체계 모델이 일관되고 정확한지 확인할 수 있으므로 보다 안정적인 기계 학습 모델을 빌드하고 데이터에 대한 심층적인 인사이트를 얻을 수 있습니다.
pandas DataFrames에서 관계 찾기
패브릭 모듈의 list_relationships
plot_relationships_df
함수는 list_relationship_violations
의미 체계 모델 내에서 관계를 탐색하기 위한 강력한 도구이지만 pandas DataFrames 형식으로 다른 데이터 원본에서 가져온 관계를 검색해야 할 수도 있습니다.
모듈의 find_relationships
함수가 sempy.relationship
작동하는 위치입니다.
이 함수는 find_relationships
데이터 과학자와 비즈니스 분석가가 Pandas DataFrames 목록 내에서 잠재적인 관계를 검색하는 데 도움이 됩니다.
이 함수를 사용하면 테이블과 열 간의 가능한 연결을 식별할 수 있으므로 데이터의 구조와 다양한 요소가 어떻게 관련되어 있는지 더 잘 이해할 수 있습니다.
다음 코드는 pandas DataFrame에서 관계를 찾는 방법을 보여 줍니다.
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
이전 코드 find_relationships
에서 함수는 세 개의 Pandas DataFrames 목록(, df_products
및 df_customers
.)을 사용하여 호출됩니다df_sales
.
이 함수는 잠재적 관계당 하나의 행이 있는 pandas DataFrame을 반환하므로 데이터 내의 관계를 쉽게 탐색하고 분석할 수 있습니다.
검사 임계값, 이름 유사성 임계값, 제외할 관계 목록 및 다대다 관계를 포함할지 여부를 지정하여 함수를 사용자 지정할 수 있습니다.
pandas DataFrames에서 관계 유효성 검사
pandas DataFrames 내에서 잠재적인 관계를 검색한 후 함수를 find_relationships
사용하여 이러한 관계의 유효성을 검사하고 잠재적인 문제 또는 불일치를 식별해야 합니다.
모듈의 list_relationship_violations
함수가 sempy.relationships
작동하는 위치입니다.
이 list_relationship_violations
함수는 테이블 내용의 유효성을 검사하고 테이블이 검색된 관계와 일치하는지 확인하는 데 도움이 되도록 설계되었습니다.
이 함수를 사용하면 지정된 관계 곱셈과의 불일치를 식별하고 데이터 분석 또는 기계 학습 모델에 영향을 주기 전에 문제를 해결할 수 있습니다.
다음 코드는 pandas DataFrame에서 관계 위반을 찾는 방법을 보여 줍니다.
from sempy.relationships import find_relationships, list_relationship_violations
tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)
list_relationship_violations(tables, relationships)
이전 코드 list_relationship_violations
에서 함수는 세 개의 pandas DataFrame(df_sales
및 df_products
) 목록과 df_customers
함수에서 find_relationships
가져온 DataFrame 관계를 사용하여 호출됩니다.
이 함수는 list_relationship_violations
관계 위반당 하나의 행이 있는 pandas DataFrame을 반환하므로 데이터 내의 문제를 쉽게 식별하고 해결할 수 있습니다.
누락된 키를 처리하는 방법을 지정하고, 검사 임계값을 설정하고, 보고할 누락된 키 수를 정의하여 함수를 사용자 지정할 수 있습니다.
pandas DataFrames와 함께 함수를 사용하면 list_relationship_violations
데이터가 일관되고 정확한지 확인할 수 있으므로 보다 안정적인 기계 학습 모델을 빌드하고 데이터에 대한 심층적인 인사이트를 얻을 수 있습니다.
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기