다음을 통해 공유


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

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

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

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

필수 조건

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

  • Microsoft Fabric에 로그인합니다.

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

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

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

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

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

의미 체계 모델에서 관계 나열

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

이 함수는 의미 체계 링크를 사용하여 주석이 달린 DataFrame을 제공하는 방식으로 작동합니다. DataFrame에는 의미 체계 모델 내의 관계를 이해하는 데 필요한 메타데이터가 포함되어 있습니다. 주석이 달린 DataFrame을 사용하면 의미 체계 모델의 구조를 쉽게 분석하고 기계 학습 모델 또는 기타 데이터 분석 작업에 사용할 수 있습니다.

list_relationships 함수를 사용하려면 먼저 sempy.fabric 모듈을 가져와야 합니다. 그런 다음, 다음 예시와 같이 Power BI 의미 체계 모델의 이름 또는 UUID를 사용하여 함수를 호출합니다.

import sempy.fabric as fabric

fabric.list_relationships("my_dataset")

앞의 코드는 list_relationships이라는 Power BI 의미 체계 모델을 사용하여 함수를 호출 합니다. 이 함수는 각 관계에 대해 하나의 행이 있는 pandas DataFrame을 반환하므로 의미 체계 모델에서 관계를 빠르게 탐색하고 분석할 수 있습니다.

참고 항목

Notebook, Power BI 데이터 세트 의미 체계 모델 및 레이크하우스는 동일한 작업 영역 또는 다른 작업 영역에 위치할 수 있습니다. 기본적으로 SemPy는 다음에서 의미 체계 모델에 액세스하려고 합니다.

  • Notebook에 레이크하우스를 연결한 경우 레이크하우스의 작업 영역
  • 연결된 레이크하우스가 없는 경우 Notebook의 작업 영역

의미 체계 모델이 이러한 두 작업 영역 중 어디에도 없는 경우 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_relationshipsmy_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_relationships, plot_relationships_df, list_relationship_violations 함수는 의미론적 모델에서 관계를 탐색하기 위한 강력한 도구입니다. 경우에 따라 pandas DataFrames와 같은 다른 데이터 원본에서 관계를 찾아야 합니다.

find_relationships 모듈의 sempy.relationship 함수를 사용하여 pandas DataFrames에서 관계를 찾습니다.

find_relationships 모듈의 sempy.relationships 함수를 사용하면 데이터 과학자와 비즈니스 분석가가 pandas DataFrames 목록에서 잠재적 관계를 찾을 수 있습니다. 이 함수는 테이블과 열 간의 연결을 파악하는 데 도움이 되므로 데이터 및 해당 요소의 관계에 대해 자세히 알아봅니다.

pandas DataFrames에서 관계를 찾는 방법은 다음과 같습니다.

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

앞의 코드는 세 개의 pandas DataFrames 목록을 사용하여 함수를 호출 find_relationships 합니다. df_salesdf_productsdf_customers 이 함수는 각 잠재적 관계에 대해 하나의 행이 있는 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)

이 예제에서는 list_relationship_violations 함수에 df_sales, df_products, df_customers 세 개의 pandas DataFrame과 find_relationships 함수의 관계 DataFrame을 함께 호출합니다. 이 함수는 list_relationship_violations 각 관계 위반에 대해 하나의 행이 있는 pandas DataFrame을 반환하므로 데이터에서 문제를 빠르게 찾아 해결할 수 있습니다.

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

list_relationship_violations pandas DataFrames와 함께 함수를 사용하여 데이터를 일관되고 정확하게 유지합니다. 이를 통해 신뢰할 수 있는 기계 학습 모델을 빌드하고 데이터에서 더 심층적인 인사이트를 얻을 수 있습니다.