데이터 엔지니어

[Tableau] (Day 6) 매출 데이터 시각화 본문

데이터 엔지니어링(Data Engineering)/대시보드(Dashboard)

[Tableau] (Day 6) 매출 데이터 시각화

kingsmo 2020. 9. 1. 00:40

강의

오늘은 테이블 계산 / LOD표현식(세부수준 계산식) 에 대해 배웠습니다. 오늘 내용은 조금 깁니다.....

 

테이블 계산

테이블 계산은 기본적으로 뷰의 반환 결과후에 수행 됩니다.

아래 그림처럼 테이블 계산식은 “Raw Data”를 “집계한 값 (Aggregation)”을 가지고 “테이블 계산 (Table Calculation)”을 실행합니다.

기본적으로 태블로는 집계 값을 통해 시각화를 합니다. 이 때의 집계의 기준은 "시각화의 세부 수준"에 따라 결정됩니다.

시각화에 추가되는 차원에 따라 집계의 기준이 변경됩니다.

용어들이 너무 어려운데 결론은 아래 그림에 빨간 부분들에 해당하는 부분들이 차원에 해당합니다. 그리고 그 추가되는 차원에 따라 "집계의 기준"이자 "시각화의 세부 수준"이 변경 되는 겁니다.

나머지는 과제에서 보여드리도록 하겠습니다.

 

 

LOD표현식 세부수준계산식

위에서 차원에 따라 시각화의 기준을 정해줄 수 있었습니다.

하지만 집계된 데이터를 바탕으로 계산하는 "테이블 계산식 식"의 경우는 오로지 뷰에 의존하여 계산합니다. 만약에 뷰에 원하는 정보가 없다면 테이블 계산을 할 수 없습니다. 그래서 LOD 표현식이라는 게 필요합니다.

 

Ex) 전 세계에서 우리나라의 GDP 비율을 보고싶다. 하지만 뷰는 우리나라 정보밖에 담고 있지 않다. 이럴 경우 LOD표현식으로 전 세계 GDP를 구해와야 하는 겁니다. 이해되셨나요?!

 

Fixed / Include 등 세부적인 설명이 있는데 자세한 설명은 링크를 참조해주세요.

과제에서도 보여드리도록 하겠습니다~


과제

1. 전일 대비 종가 등락

1. 날짜를 열에 놓고 연속형 일로 변경합니다. 또 사용자지정에 들어가 일의 날짜 값으로 변경해 줍니다. 

2. 행에 종가를 두개 놓고 하나의 마크 형식은 라인, 하나는 원으로 변경하고 이중축으로 합쳐줍니다.

3. 종가 항목의 범위를 고정해 줍니다. 30500 ~ 38000 으로 그리고 레이블 표시를 최대값 최소값을 해줍니다.

4. 마크의 등락 동일 하락을 각각 색깔로 표현해줘야합니다.

  • 종가를 행 선반에 가져다 놓고, 퀵 테이블 계산을 이용해서 "차이"로 변경합니다.
  • 범위는 "테이블 전체"이고 차이의 기준은 "전일" 기준 입니다
  • 만들어진 행을 다시 측정값 위치에 가져다 놓고 편집을 누르시면 아래와 같이 나오면 되는겁니다.
  • 아래가 뜻하는 것은 오늘 종가 값 - 전일 종가 값 해서 차이를 구한겁니다. 그래서 값이 음수 ~ 0 ~ 양수로 차이값이 나오게 됩니다.

5. 위에서 만든 "전일 대비 종가 등락”을 이용해서 “등가 여부 색상”의 계산식을 만듭니다.

  • 전일 대비 종가 등락 > 0 이라면 등락
  • 전일 대비 종가 등락 < 0 이라면 하락
  • 그도 아니라면 동일

6. 코드명을 이용해 외부 URL로 이동하게 만듭니다.

  • 코드명을 원 마크로 세부정보에 추가
  • 상단 메뉴 - 워크시트 - 동작을 클릭하여 동작추가 하여 아래와 같이 작성

증권정보로 이동 버튼을 누면 해당 URL로 이동하게 됩니다.

 

오늘 과제는 약간 총망라네요. 제가 빠뜨린 부분들이 존재할 수도 있는데 헷갈리시거나 궁금한 점 있으시면 댓글이나 질문남겨주시면 감사하겠습니다.

 

2. 시도별 매출 구성비율 

1. 국가 시도를 세부 정보에 놓고, 마크의 색상은 합계(매출)로 나타내 줍니다.

2. 매출의 구성비율을 레이블로 표시해줍니다.

  • 이 부분이 테이블 계산식을 사용하는 부분입니다.
  • 매출을 레이블로 드래그 후 퀵테이블 계산에 구성비율을 사용해 줍니다. 
  • 구성비율을 더블클릭해서 확인해 보면 아래와 같은 식이 나옵니다.
  • 시도/전국으로 각 구성비율을 구함을 알 수 있습니다.

3. 지역을 필터로 추가해줍니다. 수도권을 필터로 적용해 봅니다.

  • 뷰는 아래와 같이 수도권을 비춰주는데 비율이 위에서는 20퍼였는데 42퍼로 변한걸 볼 수 있습니다.
  • 왜 바뀌었냐면 뷰의 내용이 수도권 밖에 없기 때문에 테이블 계산식이 수도권을 전체 데이터로 인식했기 때문입니다.
  • 처음에 말한 LOD표현식이 필요할 때가 이때입니다.

매출은 역시 수도권에 집중되어 있군요!

 

3. 전국 기준 매출 구성비율 구하기

2번에서 했던거에서 추가해줍니다. LOD표현식이 여기서 쓰이는 겁니다!

1. "전국 기준 매출" 계산식을 아래와 같이 만들어 줍니다.

  • 뜻하는 것은 국가의 전체 매출 합을 FIX해서 가지고 있는 것입니다.

2.  "전국 매출 구성 비율" 계산식을 아래와 같이 만들어 줍니다.

  • 방금 만든 전국 기준 매출을 기준으로 각 매출의 구성비율을 구하게 됩니다.
  • 2번과제에서 봤던 것처럼 필터에 따른 뷰가 변경이 되어도 전국기준매출은 FIX되어 있어서 테이블 계산식에도 변동이 없게 하기 위함입니다.

 

3. 레이블에 "구성비율", "전국 매출 구성 비율" 을 추가해 줍니다.

  • 필터가 수도권일 떄 구성비율은 세부 수준이 "시도"인 것이고 전국 매출 구성 비율은 세부 수준이 "전국 기준"인 겁니다.
  • 레이블 클릭해서 앞에 prefix를 붙여줍니다.

세부수준표현식을 사용하기에 적절한 예제인 것 같습니다. 테이블 계산식은 뷰에 따라 결정된다! 를 명심하고 필요하실 때 사용하시면 될 것 같습니다.

 

4. 과거 고객 매출 기여도 및 신규 유입 고객 현황 분석

1. 주문일자를 비연속형 연도를 열에 놓고 매출은 행에 놓아줍니다.

2. 고객별 최초 구매 연도를 구합니다.

  • 아래와 같이 계산식을 작성해줍니다.
  • 현재 시각화 세부 기준은 "연도"이기 때문에 고객변호에 따른 최초 구매 연도를 세부수준식으로 만들어줍니다.

3. 만든 "고객별 최초 구매일"을 색상에 위치시킵니다.

4. 마크를 막대로 바꿔줍니다.

 

위 그림을 보면 2015년도에 처음 구매했던 고객들이 2018년 까지도 계속 꾸준한 매출에 기여를 함을 볼 수 있었습니다.

그럼 새로 유입되는 고객들 맞춤으로 마케팅을 진행해야겠죠...?!

 

5. 추가과제 - 코흐트 분석

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

1. 최초 구매일을 활용해서 2번째 구매일 "고객별 최초 재구매일"을 만들어 줍니다.

  • 아래 그림과 같이 계산식을 만들어 줍니다.
  • IIF 함수는 제일 첫 번째 조건이 만족하면, 2번째 값을, 아니라면 3번째 값을 적용한다는 의미입니다. 
  • 4번 과제에서 만든 고객별 최초 구메일보다 큰 주문일자 중에 최소값이면 바로 2번째 구매일을 의미합니다.

 

2. "고객별 최초 구매일"과 "고객별 최초 재구매일"을 가지고 DATEDIFF 함수를 이용해서 'quarter'기준으로
재구매가 일어나기 까지의 시간 차이를 구해봅니다.

  • 아래 그림과 같이 분기(quarter)기준으로 시간 차이를 구하여 계산식을 만들어 줍니다.

3. "고객별 재구매 경과기관"을 행에 드래그하여 차원 값으로 변경해 줍니다.

4. "고객별 최초 구매일"을 행 선반에 불연속형 년, 분기로 놓아줍니다.

5. 고객번호를 생상에 드래그 하여 고유 카운트로 집계해줍니다.

 

시각화 한 자료를 보면, 2015년 2분기에 처음 구매를 한 고객은 2분기가 지난 후 가장 많이 재구매를 했음을 알 수 있습니다. 2016년 1, 2, 4분기에는 재구매를 안한 사람도 많군요. 이 분들에 대한 정보도 살펴볼 필요성을 시각화를 통해 알 수 있었습니다.


오늘 과제가 제일 어렵고 오래걸렸습니다. 제가 최대한 적어보았지만 부족한 부분이나 틀린 부분이 있을 수 있습니다. 궁금하거나 틀린점 있으면 지적해주셔도 됩니다. 긴글 읽어 주셔서 감사힙니다.

Comments