LITTLE BY LITTLE

[13] SQL로 분석하고 Tableau로 시각화하자 - Tableau 속 SQL 본문

시각화/SQL로 분석하고 Tableau로 시각화하자

[13] SQL로 분석하고 Tableau로 시각화하자 - Tableau 속 SQL

위나 2022. 7. 22. 23:22

Tableau 속 SQL


1. 테이블 결합(join)

Car for Tabealu.xlsx 의 Car_order 테이블

Car_Order 데이터 컬럼들 - Car_member과 mem_no가 겹친다.

Car for Tabealu.xlsx 의 Car_member 테이블

Car_member의 데이터 컬럼들 - Car_Order과 mem_no가 겹친다.

  • [Car_Order]테이블 기준 [Car_member] 관계를 왼쪽으로 변경한다.

→ Tableau에서의 왼쪽 결합은 SQL에서의 LEFT JOIN과 같다.

 

(▼)SQL

SQL
Car_order기준 Car_member을 left join한 결과 - mem_no가 겹치지만 그냥 옆으로 합쳐진 형태

 


2. 데이터 조회(SELECT)와 함께 사용되는 절들

  • 가입 연도(Join Date) 및 성별(Gender) 구매자 수를 텍스트 테이블로 생성한다.

1. 행에 Join date, Gender 필드 드래그

= SQL에서 SELECT YEAR (join_date)에 해당

 

2. [Mem_No]를 마크카드-텍스트에 넣어주고, 카운트(고유)로 변경

= SQL에서 SELECT COUNT (DISTINCT A.mem_no) 에 해당

 

3.  [Order Date]는 마크카드 상단 필터 - 년 - 2021 체크

= SQL에서 WHERE YEAR(order_date) = '2021'에 해당

 

4. [Mem_No]는 마크카드 상단 - 필터 - 카운트(고유)로 변경 - 최소 - 50 으로 설정

 = SELECT COUNT(DINSTINCT A.mem_no) , HAVING COUNT(DINSTINCT A.mem_no) >=50에 해당

 

(▼)Tableau

태블로 결과

→ SQL에서의 데이터 조회(SELECT)와 함께 사용되는 절들로 동일한 값을 구하였다.

 

(▼)SQL

SQL

 

SQL 결과 - 태블로에서와 같은 결과

 


3. 연산자 및 함수

계산된 필드를 활용해 고객분류(Age로 계산된 새로운 필드)별 구매자 수를 텍스트 테이블로 생성하자.

 

1. (▼)로 [고객분류] 필드 생성하기

IF [age] >= 30 AND [age] < 40 THEN '30대(핵심고객)'

ELSEIF [age] >= 20 AND [age] < 30 THEN '20대(타겟고객)'

ELSE '그 외' END

= SQL에서 SELECT CASE WHEN 절에 해당한다.

2. 행에 [고객분류] 필드를 드래그한다.

= SQL에서 GROUP BY CASE WHEN 절에 해당한다.

3. 마크 카드 - 텍스트에 [Mem_No] 드래그, 카운트(고유)로 변경

= SQL에서 SELECT COUNT(DISTINCT A.mem_no)에 해당한다.

 

(▼)Tableau

 

(▼)SQL

SQL

 

Comments