다음을 통해 공유


의미 체계 모델 및 데이터 프레임에서 관계 탐색 및 유효성 검사

이 문서에서는 SemPy 의미 체계 링크 함수를 사용하여 Power BI 의미 체계 모델 및 pandas DataFrames에서 관계를 검색하고 유효성을 검사하는 방법을 알아봅니다.

데이터 과학 및 기계 학습에서는 데이터 내의 구조와 관계를 이해하는 것이 중요합니다. Power BI는 이러한 구조와 관계를 모델링하고 시각화할 수 있는 강력한 도구입니다. 더 많은 인사이트를 얻거나 기계 학습 모델을 빌드하려면 SemPy 라이브러리 모듈의 의미 체계 링크 함수를 사용하여 자세히 알아볼 수 있습니다.

데이터 과학자 및 비즈니스 분석가는 SemPy 함수를 사용하여 Power BI 의미 체계 모델의 관계를 나열, 시각화 및 유효성 검사하거나 pandas DataFrames에서 관계를 찾고 유효성을 검사할 수 있습니다.

필수 조건

  • 새 Notebook을 만들어 코드를 복사/셀에 붙여넣습니다.

  • Spark 3.4 이상의 경우 패브릭을 사용할 때 기본 런타임에서 의미 체계 링크를 사용할 수 있으며 설치할 필요가 없습니다. Spark 3.3 이하 또는 최신 버전의 의미 체계 링크로 업데이트하려면 다음 명령을 실행합니다.

    %pip install -U semantic-link
    
  • 전자 필기장에 레이크하우스를 추가합니다.

의미 체계 모델의 관계 나열

모듈의 sempy.fabric 함수는 list_relationships Power BI 의미 체계 모델에 있는 모든 관계 목록을 반환합니다. 이 목록은 데이터의 구조와 서로 다른 테이블과 열이 연결되는 방식을 이해하는 데 도움이 됩니다.

이 함수는 의미 체계 링크를 사용하여 주석이 추가된 DataFrame을 제공하여 작동합니다. DataFrame에는 의미 체계 모델 내의 관계를 이해하는 데 필요한 메타데이터가 포함됩니다. 주석이 추가된 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는 다음에서 의미 체계 모델에 액세스하려고 합니다.

  • 레이크하우스를 노트북에 연결한 경우 레이크하우스의 작업 영역입니다.
  • 연결된 레이크하우스가 없는 경우 전자 필기장의 작업 영역입니다.

의미 체계 모델이 이러한 작업 영역 중 하나에 없는 경우 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, ProductsCustomers 테이블을 포함하는 사전을 사용하여 함수를 호출합니다. 검사 임계값을 설정하고, 누락된 키를 처리하는 방법을 지정하고, 보고할 누락된 키 수를 정의하여 함수를 사용자 지정할 수 있습니다.

이 함수는 관계 위반당 하나의 행이 있는 pandas DataFrame을 반환하므로 의미 체계 모델 내에서 문제를 쉽게 식별하고 해결할 수 있습니다. 이 함수를 list_relationship_violations 사용하면 의미 체계 모델이 일관되고 정확한지 확인할 수 있으므로 보다 안정적인 기계 학습 모델을 빌드하고 데이터에 대한 심층적인 인사이트를 얻을 수 있습니다.

pandas DataFrames에서 관계 찾기

패브릭 모듈의 list_relationshipsplot_relationships_df 함수는 list_relationship_violations 의미 체계 모델 내에서 관계를 탐색하기 위한 강력한 도구이지만 pandas DataFrames로 가져온 다른 데이터 원본 내에서 관계를 검색해야 할 수도 있습니다.

모듈의 find_relationships 함수가 sempy.relationship 작동하는 위치입니다.

이 모듈의 sempy.relationships 함수는 find_relationships 데이터 과학자와 비즈니스 분석가가 pandas DataFrames 목록 내에서 잠재적인 관계를 검색하는 데 도움이 됩니다. 이 함수를 사용하면 테이블과 열 간의 가능한 연결을 식별할 수 있으므로 데이터의 구조와 다양한 요소가 어떻게 관련되어 있는지 더 잘 이해할 수 있습니다.

다음 예제 코드는 pandas DataFrames에서 관계를 찾는 방법을 보여 줍니다.

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

앞의 코드는 세 개의 Pandas DataFrames 목록(, df_productsdf_customers.)을 사용하여 함수를 호출 find_relationships 합니다df_sales. 이 함수는 잠재적 관계당 하나의 행이 있는 pandas DataFrame을 반환하므로 데이터 내의 관계를 쉽게 탐색하고 분석할 수 있습니다.

검사 임계값, 이름 유사성 임계값, 제외할 관계 목록 및 다대다 관계를 포함할지 여부를 지정하여 함수를 사용자 지정할 수 있습니다.

pandas DataFrames에서 관계 유효성 검사

함수를 사용하여 find_relationships pandas DataFrames에서 잠재적인 관계를 검색한 후 함수를 사용하여 list_relationship_violations 이러한 관계의 유효성을 검사하고 잠재적인 문제 또는 불일치를 식별할 수 있습니다.

이 함수는 list_relationship_violations 테이블 내용의 유효성을 검사하여 검색된 관계와 일치하는지 확인합니다. 이 함수를 사용하여 지정된 관계 곱셈과의 불일치를 식별하면 데이터 분석 또는 기계 학습 모델에 영향을 주기 전에 문제를 해결할 수 있습니다.

다음 예제 코드는 pandas DataFrames에서 관계 위반을 찾는 방법을 보여 줍니다.

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)

앞의 코드는 세 개의 pandas DataFrame 목록 및 df_customers함수의 DataFrame df_productsdf_sales관계와 함께 함수를 find_relationships 호출 list_relationship_violations 합니다. 이 함수는 list_relationship_violations 관계 위반당 하나의 행이 있는 pandas DataFrame을 반환하므로 데이터 내의 문제를 쉽게 식별하고 해결할 수 있습니다.

검사 임계값을 설정하고, 누락된 키를 처리하는 방법을 지정하고, 보고할 누락된 키 수를 정의하여 함수를 사용자 지정할 수 있습니다.

pandas DataFrames와 함께 함수를 사용하면 list_relationship_violations 데이터가 일관되고 정확한지 확인할 수 있으므로 보다 안정적인 기계 학습 모델을 빌드하고 데이터에 대한 심층적인 인사이트를 얻을 수 있습니다.