Tableau

[Tableau 신병훈련소 26기][학습]6일차_고급계산식

spacerwhite 2025. 1. 20. 16:00

예제1

배송시간 X시간 Y분으로 표현하기

 

먼저 '주문 번호'를 행으로 드래그하고 '주문 일자', '배송 일자'를 우클릭 드래그 한 후, 날짜 형식을 불연속형 YMD으로 설정한다.

 

다음으로 배송 시간을 시와 분으로 계한 하기 위해서 DATEDIFF를 사용하여 계산식을 작성한다.

60으로 나누면 소수점으로 나타나기 때문에 정수만 보여주기위해서 INT 함수를 사용한다.

 

만들어진 계산된 필드를 행으로 드래그후 불연속형으로 변경한다.

 

하지만 지금 나타나는것은 총 걸리는 시간이 분으로 표현되는 것이고 보고자 하는 것은 총 몇시간 몇분이 걸리는지 확인하고 싶은 것이기 때문에 새로운 계산된 필드를 사용해서 표현해주어야 한다.

 

먼저 남은 분에 대한 계산식을 작성하고 총 걸리는 시간과 분에 대한 계산식을 작성한다.

 

이렇게 하면 총 몇시간 몇분이 걸리는지 확인할 수 있다.

하지만 여기서는 월, 일까지만 포함되어 있는 데이터이기 때문에 시간은 24시간 기준, 분은 0분으로 나타나는 것을 알 수 있다. 시, 분, 초까지의 데이터가 존재한다면 이 방식을 사용할 수 있다.


예제2

배송 시간 지도로 표현하기

 

예제1에서 계산했던 계산된 필드를 활용하여 지역별 매출이나 배송기간등을 표현할 수 있다.


세부 수준 계산식(Level of Detail Expression, LoD)

뷰의 세부 수준(LoD)와 관계 없이 계산이 필요한 경우에 사용

{[INCLUDE|EXCLUDE|FIXED][차원]...:집계식([측정값])}

  • 고객별, 주문별 등 '~별' 계산이 필요한 경우
  • 집계를 다시 집계 해야하는 상황
  • 집계 결과를 기준으로 구간을 나눠야 하는 경우
  • 뷰에서 보고 있는 수준 보다 아래 또는 위 수준에서 계산 결과를 만들어야 하는 경우

시각화 세분 수준의 구성 요소

시각화에 추가되는 차원에 따라 집계의 기준이 변경 되는데 측정값의 집계 기준을 시각화의 세부 수준 또는 뷰의 수준이라고 한다. 즉, 차원이 시각화의 세부 수준을 결정 짓는다.

 

예시

제품 중분류까지 데이터를 확인하고 있지만 제품 대분류의 데이터도 확인하고 싶을 때 계산된 필드를 통해 확인할 수 있다.

(분석 탭의 총계를 사용해서 확인할 수도 있다.)

 

같은 방식으로 제품 대분류만 고정하겠다는 방식은 제품 중분류를 제외하겠다는 뜻과 동일하다. 따라서 EXCLUDE를 사용해서 같은 방식의 표현을 할 수 있다.

 

그리고 차원에는 존재하지 않지만 나의 계산식에서는 고려해서 집계를 하고 싶을 때 INCLUDE 함수를 사용한다.

 

'매출'의 평균은 지역 전체 매출을 가장 세부 수준까지 내려갔을 때 존재하는 값으로 나눈 값이고 'include' 평균은 지역의 전체 매출이다.


예제3

유입 시점별 고객 매출 기여도
2014년도에 처음 구매한 고객이 017년도 매출에 얼마나 기여하고 있는지 알아보기

 

다음과 같이 계산식을 통해 각 연도별로 첫주문한 고객들이 차지하는 매출의 비율을 확인할 수 있다.

 

여기서 추가적으로 구성비율로 각각의 연도별로 확인하고 싶다면 다음과 같이 설정해주면 된다.


예제4

정렬
지역별 매출 TOP3 제품 찾기

 

먼저 '지역', '제품 중분류'를 행 선반으로 , '매출'을 열 선반으로 드래그한다.

 

다음으로 순위를 확인하기 위해서 매출을 복사해서 마크의 세부 정보로 드래그 한다.(이 방법은 뷰를 변화시키지 않으면서 필드에 대한 계산과 속성을 변경할 수 있다.) 그리고 퀵 테이블 계산에서 순위로 변경해주고 불연속형의 필드로 만들어 준다.

 

다음과 같이 순위를 확인할 수 있다.

 

하지만 얻고자 하는 정보는 지역별 순위인데 전체에 대한 순위로 출력되는 것을 볼 수 있는데 이를 지역별로 바꿔주기 위해서 계산의 범위를 지정해주어야한다.

 

그럼 다음과 같이 지역별로 순위가 나타나는 것을 확인할 수 있다.

 

다음으로 Top3를 확인하기 위해서 순위를 나타내는 매출을 필터로 복사한 후 1, 2, 3만 선택한다.

 

다음과 같이 지역별 매출 Top3 를 확인할 수 있다.


예제5

기록 수익
분기별 수익이 최대 수익일 때 확인하

 

먼저 수익과 주문 일자를 연속형 분기로 설정하고 행과 열 선반에 드래그해서 확인해 보면 다음과 같이 그래프가 형성되는데 정보를 얻을 순 있지만 한문에 알아보기 쉽지 않은 것을 알 수 있다.

 

이 정보를 알아보기 쉽게 하기위해서 몇 가지 작업이 필요한데 우선 합계 '수익'을 복사해서 축을 하나 더 만들어준다.

 

다음으로 RUNNING_MAX 함수를 사용해 계산된 필드 '현재 가장 높은 수익'을 만들고 두번째 축의 세부사항에 드래그한다.

 

그리고 만든 계산된 필드가 참인지 거짓인지 확인할 수 있는 계산된 필드 '기록 수익'을 생성하고 두번째 축에 색상으로 적용한다.

 

두번째 축의 마크의 형태를 원으로 변경하고 수익을 이중축으로 만들어준다.

이렇게하면 기간 중 가장 높았던 기록 수익만 표시해서 나타낼 수 있다.

 

추가적인 예시로 '주문 일자'를 추가하고 년도별로 확인하고 싶을 때는 '주문 일자'를 열로 추가한 뒤에 패널 기준으로 설정하면 다음처럼 년도별로 분기에 수익이 가장 높아지는 때를 확인 할 수 있다.

 

수익이 오를 때는 참 내려갈 때는 거짓으로 표시되는 것을 확인할 수 있다.