Tableau Desktop_LOD계산(Fixed, Include, exclude)

2024. 10. 22. 15:57Tableau

LOD계산(데이터 원본 수준 + visualization 수준)

  • 계산할 세부 수준을 제어할 수 있음

LOD 종류

  • Fixed (완전히 독립적인 수준)
  • Include(더 세분화된 수준)
  • Exclude(덜 세분화된 수준)

LOD계산 문법

  • {Fixed [행] : 계산 값}

 

Fixed

Fixed는 완전히 독립적이기때문에 뷰의 차원을 참조하지 않고 식으로 지정된 차원을 사용하여 값을 게산하는 방식이다. 일단 값과 LOD계산이 된 값의 차이점을 지역별 매출 집계를 통해 살펴보자. 먼저, 열이나 행에 그 어떤 필드도 두지않고 오로지 매출의합산만을 측정값으로 두었을때 뷰에서는 전체 매출의 총합계가 계산된다.

여기서 범주를 행에 추가하게되면 자동적으로 전체 총합이었던 매출액은 범주별 매출 총합으로 변동되게 되며, 

필터와 같이 값을 집계하는데 제한을 두는 필터와 함께 사용할때에도 당연히 그 필터의 제한에 맞춰 매출의 합이 계산된다. 

 

LOD계산 만들기

LOD계산을 통해,  필드나, 필터가 계속 변경되어도 영향을 받지않고 전체매출의 합계가 계속 출력되도록 Fixed를 이용하여 전체매출을 계산했다.

그 다음, 전체매출의 합계를 측정값에 함께 놓아두면, 북아시아의 범주별 매출총합밑에, 전체 매출 총합계가 함께 출력된것을 알 수 있다.

그 후, 매출과 전체 매출을 열로 설정한  후, 다시 집계테이블 형식으로 바꿔 보다 한눈에 비교되도록 했다.

 

일반 계산과 LOD계산 차이 비교하기

이처럼 Fixed값은 필터의 조건이 변경되거나, 행에 다른 필드가 추가되었는데도 전혀 영향을 받지 않고, 행의 수에 맞게 전체매출의 값이 출력되고있는것을 확인할 수있다. 반면, 일반계산된 매출은 필터값이나 필드가 추가되거나 제거됨에 따라 값이 영향을 받게 되어, 출력되는 데이터의 값이 계속 변경된다.

 

 

같은 방법으로 이번에는 지역별 매출을 계산한 LOD필드를 만들어 뷰에 추가한후 행에는 범주만 남긴채 하위범주를 지워봤다.

현재 필터의 제한때문에 동남아시아와 오세아니아, 중앙아시아 3개의 지역별 합산 매출이 집계되고있다. 

그 후 하위범주를 다시 추가하였는데, 역시 마찬가지로 하위범주 별 지역별 매출이 계산되지 않고, 다른 필드에 영향을 받지 않았기때문에 범주를 추가하기전과 추가한 후 모두 처음 지정된 지역별 매출의 값만 출력하고있는것을 확인 할 수 있다.

 

 

Include

 

Include는 지정된 차원뿐만 아니라 뷰에잇는 모든 차원을 사용하여 값을 계산하는 계산식이다. DB에서 상세한 세부 수준으로 계산하되, 뷰에는 간단한 세부 수준으로 다시 집계할 때 유용하다. 

먼저 지역 LOD계산을 사용하지 않고 일반 계산을 통해 범주안에서 지역별 매출의 평균 합계와의 차이점을 살펴보기위해 LOD계산을 사용하지 않고 뷰를 만들어주었다. 현재 4지역의 매출액의 합을 더해서 4로 나눈 평균이 표시되고있는데, LOD계산에서는 다른 차원이나 필드를 추가하지 않고 이와 동일하게 범주안에서 매출의 평균합이 계산되도록 만들어보도록 하자.

 

 

먼저 include를 사용하여 지역별 매출의 합계를 계산한 필드를 만든 후, 새로운 시트에 행에는 범주, 마크에는 일반 합계매출과 LOD계산으로 계산한 지역별 매출을 함께 측정값으로 집계한 후, 평균값으로 바꿔주었다. 지역 필드를 추가해주지 않았는데도 일반 계산으로 만든평균값과 값이 동일한것을 알 수 있다.

다른 비교를 위해 일반 계산된 시트에 하위범주를 행으로 추가해주었다. 현재 하위 범주안에서 지역별 평균값이 출력되고있고, 그 값을 범주별로 더해, 나눈 데이터가 얼마인지 확인할 수 있다. 그럼 LOD계산도 이와 같은 값이 나오는지 확인해보자.

 

 동일하게 하위범주를 추가하게되면, 하위범주별 총합의 매출액은 윗줄에, 평균값은 밑에줄에 나오게 되는데, 평균값이 일반 시트의 값과 동일한것을 알 수 있다.

그 후 일반 매출과(윗줄) LOD계산(밑줄) 둘다 평균금액일때의 차이를 확인하기 위해 일반 매출액의 합계를 평균으로 바꿔주었다.

이때 금액차이가 똑같은게 아니라 차이가 심하게 나는데, 그 이유는 일반매출의 경우 전체 데이터에서 전체행수대로 계산하여 평균을 냈기때문에 위와같은 값이 출력이 되는것이고, 밑의 LOD값은 값에 영향을 어느정도 받기는 하지만 이미 값이 지역으로 집계된 값의 매출 평균이기때문에 값이 달라지게 된다.

 

그 후 지역별 매출을 복사하여 Fixed값으로 바꿔준후 다시 필드에 추가했다. 현재 지역이라는 치원을 고려하여 매출액이 계산된 필드가 하나더 추가가 됐는데, 현재 지역 필드가 없기때문에 전체 합계가 출력이 되고있는것이다. 이처럼 차원을 고려하여 계산이 되느냐 안되느냐의 유무차이가 최종적으로 집계되는 값에 많은 영향을 끼치고있다는것을 확인할 수 있다.

 

Exclude

세부수준에서 생략할 차원을 선언할때 사용하며, 주로 exclued는 구성비율, 또는 전체 평균에 대한 차이가 필요한 경우 유용하게 사용된다. 위 뷰처럼 범주와 지역을 행에 두고 매출과 범주,지역별 총합계를 게산했을때, 위와 같은 방법이외에 지역을 고려하지 않은 계산을 하고싶다면 exclude를 사용하면 된다.

이렇게 하면 지역을 고려하지 않은 총매출액이 계산된다.

여기서 지역필터를 추가했을때 exclude는 fixed처럼 완전하게 배제되는것이 아니기때문에 지역필터로 값을 제한하게 되면 필터의 영향을 받아, 값이 변경되는것을 알 수 있다.