Share via


추가 단원-비정형 계층 구조

적용 대상: SQL Server 2017 이상 Analysis Services Azure Analysis Services Fabric/Power BI Premium

이 추가 단원에서는 다양한 수준에서 빈 값(멤버)을 포함하는 계층 구조를 피벗할 때 발생하는 일반적인 문제를 해결합니다. 예를 들어, 고위 관리자가 부하 직원으로 부서별 관리자와 비관리자를 포함하는 조직을 들 수 있습니다. 또는 워싱턴 D.C., 바티칸 시국처럼 일부 도시는 상위 시/도가 없는 국가-지역-도시로 구성된 지리적 계층 구조가 있습니다. 계층 구조에 빈 멤버가 있는 경우 보통 서로 다르거나 불규칙한 수준으로 내려갑니다.

빈 값이 포함된 직원 계층 구조의 스크린샷

1400 호환성 수준의 테이블 형식 모델에는 계층 구조에 대한 추가 멤버 숨기기 속성이 있습니다. 기본 설정에서는 어떤 수준에도 빈 멤버가 없다고 가정합니다. 빈 멤버 숨기기 설정은 피벗 테이블 또는 보고서에 계층 구조가 추가된 경우 계층 구조에서 빈 멤버를 제외합니다.

이 단원을 완료하기 위한 예상 시간: 20분

사전 요구 사항

이 추가 단원 문서는 테이블 형식 모델링 자습서의 일부입니다. 이 추가 단원의 작업을 수행하기 전에 이전의 모든 단원을 완료하거나 완료된 Adventure Works Internet Sales 샘플 모델 프로젝트가 있어야 합니다.

자습서의 일부로 AW Internet Sales 프로젝트를 만들었으면 모델에는 아직 데이터 또는 불규칙한 계층 구조가 포함되지 않습니다. 이 추가 단원을 완료하려면 먼저 몇 가지 테이블을 더 추가하고, 관계, 계산된 열, 측정값 및 새 조직 계층 구조를 만들어서 문제를 만들어야 합니다. 이 부분에는 약 15분 정도 걸립니다. 그런 다음 몇 분 안에 문제를 해결합니다.

테이블 및 개체 추가

모델에 새 테이블을 추가하려면

  1. 테이블 형식 모델 Explorer 데이터 원본을 확장한 다음 연결을 > 마우스 오른쪽 단추로 클릭하고 새 테이블 가져오기를 클릭합니다.

  2. 탐색기에서 DimEmployeeFactResellerSales를 클릭하고 확인을 클릭합니다.

  3. 쿼리 편집기에서 가져오기를 클릭합니다.

  4. 다음 관계를 만듭니다.

    표 1 필터 방향 표 2 Active
    FactResellerSales OrderDateKey Default FactOnlineSales Date
    FactResellerSales DueDate Default FactOnlineSales Date 아니요
    FactResellerSales ShipDateKey Default FactOnlineSales Date 아니요
    FactResellerSales ProductKey Default DimProduct ProductKey Yes
    FactResellerSales EmployeeKey 두 테이블로 DimEmployee EmployeeKey Yes
  5. DimEmployee 테이블에서 다음 계산된 열을 만듭니다.

    Path

    =PATH([EmployeeKey],[ParentEmployeeKey])
    

    FullName

    =[FirstName] & " " & [MiddleName] & " " & [LastName]
    

    Level1

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],1,1)) 
    

    Level2

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],2,1)) 
    

    Level3

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],3,1)) 
    

    Level4

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],4,1)) 
    

    Level5

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],5,1)) 
    
  6. DimEmployee 테이블에서 Organization이라는 이름의 계층 구조를 만듭니다. 다음 열을 순서대로 추가합니다. Level1, Level2, Level3, Level4, Level5

  7. FactResellerSales 테이블에서 다음 측정값을 만듭니다.

    ResellerTotalSales:=SUM([SalesAmount])
    
  8. Excel에서 분석을 사용하여 Excel을 열고 피벗 테이블을 자동으로 만듭니다.

  9. 피벗 테이블 필드에서DimEmployee 테이블의 조직 계층 구조를 에 추가하고 FactResellerSales 테이블의 ResellerTotalSales 측정값을 값에 추가합니다.

    피벗 테이블 필드 대화 상자가 표시된 스프레드시트의 스크린샷.

    피벗 테이블에서 볼 수 있는 것처럼 계층 구조에 불규칙한 행이 표시됩니다. 빈 멤버가 표시된 많은 행이 있습니다.

멤버 숨기기 속성을 설정하여 불규칙한 계층 구조를 수정하려면

  1. 테이블 형식 모델 탐색기에서 테이블>DimEmployee>계층 구조>조직을 확장합니다.

  2. 속성>멤버 숨기기에서 빈 멤버 숨기기를 선택합니다.

    빈 멤버 숨기기 옵션을 가리키는 화살표가 있는 속성 창 스크린샷

  3. 다시 Excel에서 피벗 테이블을 새로 고칩니다.

    빈 멤버가 없는 직원 계층 구조의 스크린샷.

    이제 훨씬 좋아 보입니다.

참고 항목

단원 9: 계층 구조 만들기
추가 단원 - 동적 보안
추가 단원 - 행 세부 정보