티스토리 뷰

Vizable 1기 과제하면서 적은 기록입니다.

내가 예전에 이랬었지 하는 생각이 드네요.

참고하시면 좋겠습니다!

 

Step 1. 데이터 살펴보기 & 전처리하기

멘토님이 공유해주신 주간 과제 데이터

Sales_Week1.xlsx 를 살펴보면,

  1. Channel_cost
  2. Sales
  3. Product_monthly

테이블로 구성되어 있다.

 

Channel_cost 테이블은 channel, cost 컬럼으로 구성되어 있고

유저가 각 채널에 방문할 때 또는 구매가 일어날 때 발생되는 cost비용을 의미하는 듯하다.

Sales테이블은 index, date, age, channel, A, B, C, D, E 컬럼으로 구성되어 있는데

고객이 어떤 채널로 유입되어 어떤 물건을 얼마나 구매하는지 알 수 있는 정보들인 듯

A,B,C,D,E 컬럼은 분석하기 좋게 tidy 데이터로 만들어 줄 필요가 있다.

ex) Product, Value

   **A           0**

   **B           1**

   **B           0**

마침 Tableau에서 피벗기능을 제공하니 손쉽게 변환 가능하다.

Step 2. 관계 설정하기 & 계산된 필드 만들기

한편 Channel_cost와 Sales는 Channel을 기준으로 연결이 가능한 테이블인데

product_monthly는 키 값이 없어 전처리 후에야 활용할 수 있는 테이블이었다.

 

 

우선 A,B,C,D,E 컬럼들을 피벗해서 Product 와 Value 계산된 필드를 만들었다.

데이터를 보다보니 제품이 얼마나 팔렸는지 나타낼 수 있는 Sales 컬럼을 만들고 싶었다.

위에 Product_monthly테이블이 의미하는게 가격 정책이라고 생각해서

ex) A 상품의 2018년 8월 가격은 12만원.

이걸 계산된 필드로 만들기위해 고민했다..

Sales = Price * Value

그렇다면 Price를 어떻게 만들것인가..

여기서 부터 시작된 개삽질...

 

 

Price를

Product가 A이고 year가 2018이고 month가 08 이면 12만원 이런식으로 일일히 입력했다..

product_monthly 테이블을 참조할 수 있거나 논리적으로 다른 테이블에서 참조가 되게 만들었다면 간단했을텐데 하는 아쉬움..

Python으로 전처리하면 지는거라고 생각해서 tableau로 이렇게 만들었다.

머리가 안좋으니 몸이 고생한다ㅠ

Step 3. 차트 그리기 & 대시보드 만들기

 

전처리 끝내고 차트들은 보고싶은 화면 생각하면서 손이 가는대로 그렸다.

고객들이 유입됐던 채널의 Cost 합계를 나타내서

유입 채널 Cost 대비 매출액을 표현하고 싶었는데

Cost값이 집계가 되어버려 값을 나타내기 쉽지 않았다.

Index를 활용해서 중복을 제거한다면 A고객이 유입됐던 채널의 cost를 하나만 집계할 수 있을텐데 라는 생각이 든다..

이 방법에 대해서는 차차 공부하도록 하자.

고생했다 1주차 과제 끝~

아래는 멘토링에서 피드백 받은 내용..

 

앞에 했던 노가다 안해도 된다고 한다.

원래 date타입 str으로 바꾸고 쪼갰었는데 그럴 필요 없이 datepart 함수 쓰면 간단하게 해결될 문제였다. 위의 그림은 sales 테이블과 product_monthly 테이블을 논리적으로 연결하는 모습

DATEPART('추출할 연, 월', [DATE])

  1. Tableau + SQL 연동, 쿼리를 이용해 간단히 데이터를 ETL 하는 방법에 대해 공부함.
  2. 기타

AGE BAND활용해서 차트그리는 것

집계된 것에 0값을 포함시키지 않는 방법 팁

필터를 활용해서 0값을 제거하는 방법이 있음..

그러면 차트에 0값이 제외된 값이 있는 것들로 집계할 수 있음.

첫주차 멘토링에서 많은 것들을 배웠다.

SQL을 Tableau에 연결해서 1차적으로 전처리한 데이터를 시각화하는건 상당히 파워풀하다고 생각한다. 차트 그리면서 쿼리 공부도 하자..

할게 많다.

공부 하자.

 

댓글