LOD 표현식

JERRY·2025년 3월 28일

Tableau

목록 보기
13/15
post-thumbnail

LOD 표현식

LOD(Level of Detail) 표현식은 태블로에서 데이터 집계의 범위를 세부적으로 제어할 수 있는 도구 입니다. 이는 특정 차원에 독립적이거나 종속적인 집계값을 생성할 때 유용합니다.

LOD 표현식의 특징

  • 뷰 차원과의 독립성: FIXED는 현재 뷰와 상관없이 고정된 차원을 기준으로 값을 계산하며, INCLUDE와 EXCLUDE는 뷰에 종속적입니다.

  • 집계 가능성: LOD 표현식은 일반적으로 다른 집계와 결합하여 사용할 수 있습니다.

  • 성능 고려: FIXED는 계산 과정에서 더 많은 리소스를 사용할 수 있으므로 필요할 때만 사용해야 합니다.

LOD 표현식 사용 시 주의사항

  • 뷰 필터와의 관계
    FIXED는 뷰 필터에 영향을 받지 않으므로, 필터를 적용해도 고정된 값을 반환합니다.
    반면 INCLUDE와 EXCLUDE는 뷰 필터의 영향을 받습니다.

  • 성능 고려
    LOD 표현식이 복잡하거나 큰 데이터 세트에서 사용되면 성능이 저하될 수 있습니다. 필요한 최소 수준으로 설계하세요.

  • 계산의 의미 파악
    LOD를 사용할 때 결과값이 어떤 차원 수준에서 집계되는지 항상 이해해야 합니다.

LOD 표현식과 집계 차이

일반 집계(Aggregate)는 현재 뷰의 차원에 종속적입니다.
LOD 표현식은 사용자가 원하는 수준에서 데이터를 제어할 수 있어 유연성이 높습니다.


INCLUDE

추가적인 차원을 포함하여 집계를 수행합니다.
데이터 세트에서 현재 뷰의 차원 외에 더 많은 세부사항을 포함하고 싶을 때 사용합니다.

시트 1 : Include_제품 중분류(최대값) VS 매출(최대값)

  1. 사이드바의 제품 대분류와 매출을 차례로 클릭

  2. 사이드 바 상단 ▼ > 계산된 필드 만들기
    Include_제품 중분류 : { INCLUDE [제품 중분류] : SUM([매출]) }

  3. 생성된 Include_제품 중분류 추가

  4. (측정값) 매출을 우클릭하여 기존 측정값(합계)를 최대값으로 변경

  5. (측정값) Include_제품 중분류도 동일하게 최대값으로 변경

  6. 데이터를 참고하기 위해 Number of Records를 추가

시트 2 : 제품 최대값

  1. 시트1 복제

  2. 테이블의 제품 대분류 중 가구 클릭 후 이 항목만 유지 선택

  3. (측정값) Include_제품 중분류 제외

  4. 사이드바의 고객명 추가 후 내림차순 정렬

  5. 가장 상단에 있는 고객 선택 후 이 항목만 유지 선택

  6. 주문 번호와 제품 코드를 차례로 추가
    (Number of Records를 1로 만들어 줌)

    시트 1에서 제품 대분류별 최대값 매출은 제품 가격(Records-1) 최대값과 동일

시트 3 : 중분류 매출 최대값

  1. 시트1 복제

  2. (측정값) 매출, Number of Records 제외

  3. 제품 중분류 추가 후 내림차순 정렬
    시트 1에서 제품 대분류별 Include_제품 중분류는 제품 중분류 합계 매출의 최대값과 동일



EXCLUDE

특정 차원을 제외하여 집계를 수행합니다.
뷰에서 차원을 제거하고 더 높은 수준의 집계를 계산하고 싶을 때 유용합니다.

  1. 제품 대분류와 제품 중분류를 차례로 클릭하여 행에 추가 후 매출 클릭

  2. 사이드 바 상단 ▼ > 계산된 필드 만들기
    Exclude_제품 중분류 : { EXCLUDE [제품 중분류] : SUM([매출]) }}

  3. Exclude_제품 중분류를 추가

    동일한 대분류를 가진 Exclude_제품 중분류 값이 모두 같은 값을 가지고 있음
    그 값은 제품 대분류 매출과 동일



FIXED

고정된 차원 수준에서 집계를 수행합니다.
특정 차원(뷰와 무관한)에 고정된 값을 계산할 때 사용합니다.

Fixed제품 대분류 vs Exclude제품 중분류 vs Fixed제품 중분류 vs Include제품 중분류

  1. 사이드 바 상단 ▼ > 계산된 필드 만들기
    Fixed_제품 대분류 : { FIXED [제품 대분류] : sum([매출]) }

    Fixed_제품 중분류 : { FIXED [제품 중분류] : sum([매출]) }

  2. 제품 대분류, 제품 중분류 동시 선택 > 우클릭 > 계층 > 계층 만들기 >
    계층이름을 제품 분류로 지정 후 확인

  3. 제품 분류, 매출, Fixed제품 대분류, Fixed제품 중분류를 차례로 클릭

  4. (행) 제품 분류 드릴 다운

  5. Exclude제품 중분류, Include제품 중분류 클릭
    측정 값에 Fixed제품 대분류, Exclude제품 중분류, Fixed제품 중분류, Include제품 중분류, 매출이 존재하는데 이때 앞의 순서에 맞게 정리

  6. 사이드바의 측정값 이름을 색상 마크에 놓은 후 색상 범례를 수정
    Fixed제품 대분류, Exclude제품 중분류 > RED
    Fixed제품 중분류, Include제품 중분류 > BLUE / 매출 > GRAY

  7. (마크) 측정값을 우클릭하여 측정값을 합계로 선택

  8. (행) 중분류 제외시 모두 같은 값을 가지게 되니 비교를 위해 수정
    (마크) 측정값을 우클릭하여 측정값을 최대값으로 변경

    Fixed제품 대분류, Exclude제품 중분류의 결과값이 동일하고
    Fixed제품 중분류, Include제품 중분류의 결과값과 동일하게 움직임


FIXED 예제 1 : 유입 시점별 고객 매출 기여도

  1. 매출과 주문일자를 차례로 클릭한 후 막대 스타일을 선택하여 막대 차트 생성

  2. 사이드 바 상단 ▼ > 계산된 필드 만들기
    1st 구매일 : { FIXED [고객명] : MIN([주문 일자]) }

  3. 1st 구매일을 색상 마크에 놓음

  4. (행) 매출 > 우클릭 > 퀵테이블 계산 > 구성 비율
    (행) 매출 > 계산 대상 > 테이블 아래로

  5. 행렬 전환 > 툴바의 레이블 선택 > 화면 전체 보기


FIXED 예제 2 : 고객별 두번째 구매일까지의 경과일

  1. 고객명, 주문일자(불연속형), 1st 구매일(불연속형)을 행 선반에 둔다

  2. 사이드 바 상단 ▼ > 계산된 필드 만들기
    1st 구매일 제외 : IIF([주문 일자] > [1st 구매일], [주문 일자], NULL)

    1st 구매일 제외(불연속형) 행 선반에 추가

  3. 사이드 바 상단 ▼ > 계산된 필드 만들기
    2nd 구매일 : { FIXED [고객명] : MIN([1st 구매일 제외]) }

    2nd 구매일(불연속형) 행 선반에 추가

  4. 주문일자와 1st 구매일 제외를 행 선반에서 뺌

  5. 사이드 바 상단 ▼ > 계산된 필드 만들기
    경과일 : DATEDIFF('day', [1st 구매일], [2nd 구매일])

  6. 경과일 클릭 후 경과일 기준으로 내림차순 정렬



INCLUDE vs FIXED

  1. 매출과 시도 필드 추가 후 툴바의 레이블 표시, 화면 전체 보기

  2. 사이드 바 상단 ▼ > 계산된 필드 만들기
    Fixed_시군구 : { FIXED [시군구] : SUM([매출]) }

    Include_시군구 : { INCLUDE [시군구] : SUM([매출]) }

  3. Fixed시군구, Include시군구 마우스 우클릭 한 상태로 행 선반에 추가 > 평균 선택

    Fixed시군구, Include시군구의 두 값이 일치하지 않는 것을 확인 할 수 있다.
    두 값이 일치하지 않는 원인은 무엇이며 둘 중 뭐가 올바른 값일까?

    두 값이 차이가 나는 이유는 차원값의 고려 여부때문이다.

    Include_시군구는 계산식 안에서 집계를 할 때 즉 매출의 합계를 구할 때 화면에 같이 표시되는 시도 차원을 고려하여 합계를 계산한다.
    화면에 표시되는 시도와 계산식에 사용되는 시군구 필드를 함께 고려하여 매출 합계를 계산한 것이다.

    Fixed_시군구는 화면의 차원과 상관없이 우선적으로 시군구 레벨에서만 매출 합계 계산 후 화면에 올라올 때 다시한번 집계하여 결과값을 만든다.
    이 차트의 문제는 각 지자체별 시군구 이름이 고유한 것이 아니라는 점에 있다.

  1. FIXED_시군구(수정) : { FIXED [시도], [시군구] : SUM([매출]) }

    FIXED 시군구 수정 후 차트를 확인하면 값이 일치하는 것을 확인할 수 있다.

    Exclude 도 Include와 동일하게 화면에 있는 차원 필드를 함께 고려하여 결과값을 만든다는 방식은 동일하다.

    Fixed로 Exclude/Include와 같은 결과값을 만들 수 있고 좀 더 직관적으로 작업자가 고려하고자 하는 필드를 직접 추가하여 사용하기 때문에 일반적으로 사용도가 더 높다.

0개의 댓글