하루에 하나씩

Tableau 리뷰 #24. Day6 과제_테이블 산식 & LOD 본문

Tableau

Tableau 리뷰 #24. Day6 과제_테이블 산식 & LOD

JY SHIN 2021. 10. 10. 02:26

👩‍💻 태블로 신병훈련소 복습하기 Day6 👩‍💻

 

과제를 위한 HELP 문서

  1. 테이블 계산 함수
  2. 세부 수준식
  3. LOD 계산 사용 예시 - 10. 집단별 재구매 참고

추가 참고 자료

  1. 테이블 계산 사용 예시
 

Tableau의 상위 10가지 테이블 계산

여기에는 10가지 유용한 Tableau 테이블 계산 예제가 소개되어 있습니다. 대부분의 예제는 간단한 수식 작성이 필요합니다. 각 예제의 탭 뷰에는 실제 예와 방법이 포함되어 있습니다. 통합 문서를

www.tableau.com

 

 


1. 테이블 계산식_차이 

Q. 주식데이터로 전일 대비 종가가 상승했는지, 하락했는지를 나타내는 차트로 알아보기 

 

① 전일 대비 종가 등락 구하기  

(1) "전일 대비 종가 등락"을 구하기 위한 테이블 계산식이 바로 안나온다면, 다음 방법을 활용해보자

  • 측정값에 있는 종가를 행 선반에 놓고, 퀵 테이블 계산으로 "차이" 구한다
  • 테이블 계산 범위는 전체 일자가 되어야 하므로 테이블로 선택한다
  • 계산 기준을 "전일"로 해야 이전 값을 가져와 차이를 구할 수 있다

 (2) 구해놓은 테이블 계산 값을 차트에서 확인해보자.

  • 전날보다 종가가 상승했으면 양수, 전날보다 하락했으면 음수, 아니라면 0값이 나타난다. 
  • 그런데 첫 번째날(2019-01-02)은 비교할 이전 값이 없으니 그 날짜에는 테이블 계산값이 안보일거다. 
  • 하단에 1 Null이 보인다. 이처럼 계산이 되지 않은 값이 있을 수 있음을 확인 할 수 있다.  

 (3) 제대로 계산이 되었다면, 테이블 계산식을 이용해 구해 놓은 종가를 "데이터 창"으로 드래그한다. 

이렇게 새로운 측정값이 생성되면, 이름을 "전일대비 종가등락"으로 지정한다.

어떤식으로 계산식이 만들었는지 살펴보자.

ZN(SUM([종가])-LOOKUP(ZN(SUM([종가])),-1)

위의 함수는 기준 일자의 종가 합계값과 LOOK UP함수를 이용해서 현재 기준 일자의 -1일자의 집계된 종가를 가져와서 계산하고 있다. 즉, 기준일자 종가 합계에서 이전 일자의 합계를 뺏다는 의미다. 

 

② 등가 여부 색상으로 표시하기 

③ 그래프 나타내기 

종가를 하나는 라인, 하나는 으로 나타내고, 이중축을 이용해 합친다. 

일은 연속형으로 표현 한다.

 

 

2. 워크시트 작업(동작) 활용하기

차원에 있는 코드명을 이용해서 해당 주식에 대한 정보 사이트로 이동해보자.

** '작업'이라는 용어가 최신 버전에는 '동작'으로 변경됨 

 

(1) '코드명'을 '원 마크'의 세부정보'에 추가

(2) 메뉴> 워크시트 > 동작(Action) 클릭

(3) 동작 추가 > URL로 이동 클릭

(4) URL추가 동작 설정 

이제 도구 설명에 나타나는 "증권정보로 이동"을 클릭하면, 지정한 url로 이동한다. 

 

3. 테이블 계산_구성 비율

테이블 계산식을 활용해서 시도별 매출 구성비율을 살펴보자. 

(1) 국가, 시도를 상세 정보에 넣고, 마크의 색상을 매출 합계로 나타낸다. 

(2) 매출의 "구성 비율"을 레이블로 표시해준다.

  • 퀵 테이블 계산을 구성비율로 선택하고, 범위는 전국을 기준으로 비율이 계산될 수 있도록 테이블로 선택한다.
  • 계산식 : sum([매출])/TOTAL(SUM(매출))

3) 지역을 필터로 추가해 수도권 지역을 필터링해보자. 

서울 특별시의 전국 대비 매출 구성비율 22.13%가 46.82%로 바뀌었다.

WHY? 왜 비율이 46.82%로 바뀌었을까?

"구성 비율"을 구할 때 계산의 범위를 "테이블"로 지정했다. 

지역필터를 적용하기 전에는 화면에 보이는 전체 시도에 대해 범위가 지정이 되었따면,

필터를 적용한 후에는 해당 지역에 포함된 '시도'에 대한 범위로 계산 범위가 바뀌게 된다. 

  • 필터 적용 전⇒ 서울특별시 매출 합계/ 전국 매출 합계(TOTAL 범위가 전국)
  • 필터 적용 후⇒ 서울특별시 매출 합계 / 인천, 서울, 경기도 매출 합계(TOTAL의 범위가 수도권)

그렇다면, 필터를 적용해도 전국 대비 매출 구성 비율의 수치가 바뀌지 않게 하려면 어떻게 해야 할까?

 

4. 세부 수준 계산식(LOD) : 전국 기준 매출 구성 비율 구하기 

세부수준 계산식을 이용해 지역 기준/ 전국기준 매출 구성비를 살펴보려고 한다. 

 

과제를 시작하기 전에 세부수준식의 개념을 다시 한 번 짚어보자. 

현재의 시트를 생각해보면, 이 시트의 시각화 세부 수준은 국가와 시도이다.

이 뷰에서 매출의 합게 값을 구한다면 가장 낮은 시각화 세부 수준인 시도 기준으로 매출 합계 값이 구해지게 된다.

그런데 전국 기준 매출 구성  비율을 구하려면 시도 매출의 합계 값전국 매출의 합계값으로 나눠야 했다. 

즉, 우리에게 필요한 전국 기준의 매출 합계 값은 이 뷰의 수준에서는 절대 구할 수가 없다. 

이처럼 현재 뷰의 시각화 세부 수준과 실제 내가 필요한 집계 의 기준이 상이할 떄 사용할 수 있는 것이 세부수준 계산식이다. 

 

이러한 개념을 가지고, 아래와 가이 시도 기준 매출 비율과 전국 기준 매출 비율을 함께 나타내는 시각화를 나타내 보자. 

 

(1) FIXED 함수를 이용해 전국 기준 매출 계산식을 만들어보자

FIXED함수는 지정된 특정 차원을 기준으로 집계를 하는 방법이다.

시도의 전체 합계 매출을 구하렴녀 그보다 높은 수준의 차원인 국가를 기준으로 매출의 합계를 구해야 한다. 

(2) 전국 기준 구성 비율 계산식을 만들어보자

아래와 같이 매출합계를 이전에 구해높은 전국 기준 매출 합계로 나누면된다. 

  • SUM(매출)/SUM([전국 기준 매출]

애초에 뷰의 세부 수준이 '시도'이니 매출 합계는 시도의 매출 합계를 나타내는 것

(3) 새로 만든 전국 기준 구성비율을 레이블에 추가하자. 

이제 3. 테이블 계산_구성 비율에서처럼 필터를 바꿔도 전국 기준 매출 구성 비율 값은 그대로이다. 

 

애초에 뷰의 세부 수준이 '시도'이니 매출 합계는 시도의 매출 합계를 나타내는 것

(3) 새로 만든 전국 기준 구성비율을 레이블에 추가하자. 

이제 3. 테이블 계산_구성 비율에서처럼 필터를 바꿔도 전국 기준 매출 구성 비율 값은 20.05%로 그대로이다. 

5.  세부 수준 계산식 :과거 고객 매출 기여도 및 신규 유입 고객 현황 분석 

이번 과제에서는 과거 구매 고객 매출 기여도와 신규 유입 고객 현황을 살펴보자. 

2015년에 첫 구매가 발생한 고객이 2018년도까지 얼만큼 매출에 기여하고 있을까?

 

고객별 최초 구매일이라는 이름으로 계산식을 만들어보자. 

현재 시각화 세부 수준은 "연도"이기 떄문에, "고객"을 기준으로 최초 주문 일자를 구하려면 우리는 세부 수준식을 써야 한다. 

FIXED 함수를 이용해서 고객으로 차원을 고정하고, MIN함수를 이용해서 최초 주문일자를 구한다. 

{FIXED[고객번호]:MIN([주문일자]}

새로 만든 "고객별 최초 구매일"을 색상에 놓으면 원하는 시각화를 그릴 수 있다.  

 

6. 코호트 분석 

최초 구매가 일어난 후, 두번째 구매가 발생하기까지의 기간이 어느정도 되는지를 시각화해보자. 

(1) 최초 구매일은 이미 5번 과제에서 고객별 최초 구매일로 만들어 놓았다. 

(2) 최초 구매일을 활용해서 두번째 구매일(고객별 최초 재구매일)을 구해보자.

  5번 과제와 마찬가지로 우리가 구해야하는 고객별 최초 재구매일에 사용되어야 하는 집계 기준과 뷰의 세부수준이 다르기 때문에,

 FIXED세부 수준식을 사용해야 한다.

 아래 식을 이용해서 고객별 최초 재구매일 계산식을 만들어 보자.

  { FIXED [고객번호] : 

        MIN(

                 IIF([고객별 최초 구매일] <[주문일자],[주문일자],NULL)

                  )

}

   - IIF는 제일 첫번째 조건이 만족하면, 2번째 값을 아니면 3번째 값을 적용한다는 의미다.

     즉, "고객별 최초 구매일"이 "주문일자'보다 작으면 주문일자를 가져오고, 아니라면 NULL값이라는 얘기이다.

(3) 고객별 최초 구매일과 고객별 최초 재구매일을 가지고 DATEDIFF함수를 이용해서 QUARTER기준으로 재구매가 일어나기까지의 시간 차이를 구해본다

DATEDIFF('quarter, 고객별 최초 구매일],[고객별 최초 재구매일])

(4) 고객별 재구매 경과 기간은 결과 값은 숫자이기 때문에 새로운 계산식이 측정값에 위치하는 것을 볼 수 있다. 

하지만 우리는 고객별 재구매 경과 기간을 집계 형태로 사용한느 것이 아니라 차원으로 사용해야한다. 

고객별 재구매 경과 기간 필드를 드래그하여 측정값에서 차원으로 이동시켜준다.

 

(5) 이제 구해 높은 고객별 최초 구매일을 행 선반에 불연속형 "년", "분기" 수준으로 놓아준다. 

(6) 고객당 재구매 경과 기간을 열 선번에 높아준다. 

(7) 고객 번호에서 마우스 오른쪽 버튼을 누른채, (Mac의 경우 Option을 누른채)로 색상에 드래그하고, 고유카운트로 집계한다. 

Comments