Tableau Desktop_계산된 필드(Running, Total, lookup, window, if~elseif)실습

2024. 10. 16. 14:51Tableau

계산된 필드

태블로 계산된 필드란 기존 데이터를 기반으로 기존에 없던 새로운 필드를 만들어낼 수 있는 기능이다. 계산된 필드를 만들때는 주로 함수를 사용하며, 계산된 값을 통해 원하는 대시보드를 만들 수 있다.

 

 

계산된 필드 함수 종류

  • Running_
  • Total
  • lookup
  • window
  • if~elseif

사실 계산된 필드의 함수 종류는 굉장히 다양하다. 하지만 대부분 엑셀이나 파이썬, R, sql등 데이터분석에 사용되는 집계함수들과 문법이 거의 동일하기때문에 오늘은 실무에서 가장 많이 사용되는 계산된 필드 함수 종류들과 실제 실무에서는 어떤 상황에서 함수를 사용하는지 살펴볼 예정이다.

 

 

Running_

Running은 누적값을 구해주는 함수이다. Running_sum(누적합계)이나 Running_min등 다른 기본 집계함수들과 함께 사용된다. 일반 sum은 합계이지만 앞에 Running_sum이 붙게되면 누적합을 계산해주고 일반  min이면 전체중에 최소값을 반환해주겠지만 Running_min이라면 누적된 데이터들 중에서 최소값을 반환해주는 형식이다.  이 Running_sum함수를 사용하여 날짜별 누적매출합계를 확인해보도록 하자.

 

매출 합계의 누적값을 구하는것이기때문에Running_sum함수 안에 인수값을 sum으로 한번더 계산해주는 계산된 필드를 만들었다.

그후 날짜를 행에, 계산된 필드의 값을 열에 놓고 계산된 필드를 레이블로 설정하여 누적값을  살펴보았다. 이렇게 하면 연도별 누적값을 확인할 수 있는 그래프를 만들 수 있다.

 

실무에서의 활용

이런 Running함수는 실무에서 얼마나 매출이 상승했는지를 단계별로 확인하는데 주로 사용된다.

이렇게 일반적인 합계매출과 함께 사용하여 연도별로 실제 발생한 매출과 그에따른 단계별 총액을 살펴볼때 사용할 수있다.

 

퀵테이블로 Running값 살펴보기

Running_sum의 경우에는 합계매출 필드에서 퀵테이블의 누계의 설정으로도 확인할 수 있다. 위의 계산된 필드에서 Running_sum을 사용하여 만든 그래프와 일반 매출합계에서 퀵테이블을 사용하여 만든 그래프가 동일한 값을 보여주는걸 알수있다.

 

Total

Total함수는 데이터의 합계를 보여주는 함수이다. 데이터의 합계를 반환하는 sum과의 차이점은 Total은 이미 집계함수를 사용하여 결과가 나온 전체 총합을 반환해준다는 것이다.  

 

Total함수는 위와같은 방법으로 사용하며, sum자리에는 sum이외에도 avg등등이 올 수 있다. 이렇게 만들어진 Total계산된 필드를 이용하여 각 제품범주별 일반 매출합계와 총합을 반환하는 테이블을 만들어보자.

범주와 그 범주의 하위범주별로 매출액을 살펴보아야하기 때문에 범주와 하위범주의 사용자지정 계층을 만들어, 행에 놓고, 합계와 Total의 값을 차례대로 배치했다. 이처럼 Total은 sum에 대한 총합계를 반환해주는 것을 확인할 수 있다.

 

다른방법으로 총합계 확인하기

Total함수도 마찬가지로 계산된 필드가 아닌 다른방법으로도 확인이 가능하다. 태블로의 분석 탭에서 총계를 선택하고, 현재 수치데이터가 열에 있으니, 열 총합계를 표시하면 

이렇게 데이테어 총 합계가 표시된것을 확인할 수 있다.

 

실무에서의 활용

실무에서 total함수는 주로 매출액의 퍼센티지를 구할때 사용한다.

이렇게 실제 매출액과 전체총합 매출액을 나눠주는 계산된 필드를 만들어준다.

그 후 기존 테이블의 측정값에 계산된필드를 추가 한 후, 퍼센티지로 나타낼 예정이기때문에 서식값을 백분율로 바꿔준다.

그럼 각각의 매출이 전체 매출에서 몇퍼센트를 차지하는지에 대한 매출액 퍼센트를 구할 수 있다. 이 역시 퀵테이블의 구간비율을 설정하면 계산된 필드없이 사용할 수 있다.

 

 

lookup

실무에서의 활용

lookup함수는 지정한 필드를 기준으로 데이터를 이동하여 값을 조회하는 데 사용된다. 주로 현재 행을 기준으로 이전, 이후값을 계산하는데 사용된다.

lookup함수를 이용하여 제품 범주 별 전년도 매출액과 비교가 가능한 매출 테이블을 만들어 볼 예정이다. lookup은 수식뒤에 숫자로 범위를 지정할 수 있다. 전년도 매출액과 비교를 위해 -1로 범위를 지정해준다.

그후 날짜를 년도 기준으로 열에 놓고, 범주를 행에 놓아준다. 안의 데이터를 일반 합계와 계산된 필드를 이용하여 만든 lookup필드를 적용하면 지난달 범주별 매출이 한 열과 행으로 같이 표시되기때문에  전년도 매출액과 비교분석을 할 수 있는 테이블이 만들어진다. 실제 실무에서도 lookup함수는 전년도, 전월대비와 같은 분석에서 주로 사용된다.

 

window

window함수는 특정 데이터 집합의 구간안에서 계산을 할수있도록 범위를 지정하는 함수이다.  window는 주로 데이터의 특정 구간이나 범위에 걸쳐 평균, 합계 등의 집계를 구하는 데 사용된다.

window함수역시 다른 집계함수들과 주로 함께 쓰이는 경우가 많다. window함수는 수식뒤에 범위를 지정해주어야하는데 위의 함수에서는 현재행(0)을 기준으로 앞의행2개 부터 뒤의 행1개까지의 범위를지정한 것이다. 이렇게 지정된 범위의 매출의 합계를 구하고 그 범위안에서의 합계 평균을 구하는 필드가 생성된 것이다.

그 후 비교를 위해 일반 합계매출과 계산된 필드를 함께 측정값으로 주면 이렇게 테이블이 완성된다. 예를 들어 현재행이 가전제품일 경우 앞의 행2개는 없기때문에 밑의행인 레이블과 합산한 뒤 이 둘의 평균값을 더한 결과가 반환된것이다. 

다른 예시도 한번 살펴보자. 이렇게 범위에 first와 last를 지정하면 처음부터 끝까지라는 뜻이기때문에 전체매출액의합산의 평균값을 반환하는 필드가 계산된 것이다.

테이블의 범위가 전체값이다보니 모든 행이 같은 결과를 반환한다. 보통 실무에서는 부서별, 제품카테고리별 데이터가 정렬되어있을때 각각의 카테고리별 합산이나 평균, 등을 구하는데사용된다.

 

if~elseif

if는 조건문으로, if 조건식 then 1번째 조건식이 참일경우 보여질 값 elseif는 1번째 조건이 거짓이고 2번째 조건이 참일때 보여질값~...else 모든 조건문이 거짓일때 출력될값 end의 형식으로 작성한다. 실무에서 여러가지 방법으로 가장많이 사용되는 함수이며, 이번에는 세그먼트와 주문 수량의 필드를 사용하여 세그먼트별 고객 등급을 평가하는 필드를 만들어볼 예정이다.

수량이 20000건 이상이면 VVIP로, 10000건 이상이면 VIP, 모든 조건식에 해당하지 않는다면 --의값으로 표시할 수 있는 계산된 필드를 만들었다.

그 후 행으로 추가하여 등급 필드로 표시하면 이렇게 조건문에 맞는 고객등급표시가 테이블에 추가된것을 확인할 수 있다.