웅진X유데미 STARTERS/TIL (Today I Learned)

[스타터스 TIL] 18일차.Tableau 완벽 실전 교육 (2) - 데이터 블렌딩, 대시보드, 스토리

라밍쏭 2023. 3. 2. 17:40
728x90

 


5. 조인, 블렌딩

5.1 데이터 블렌딩

✅ 조인

- 행(row) 수준에서 데이터를 조합할 때 사용

 

✅ 블렌딩

- 데이터 소스가 다른 세분화 수준을 가졌을 때 사용

   → 이 상황에서 만약 조인을 하게 된다면 데이터 손실이 발생함

- 데이터 소스가 다른 시스템(ex. 엑셀, sql 등)에서 올 때 사용

 

→ 데이터 블렌딩을 하려면, 기존 데이터에서 블렌딩할 데이터를 메인 화면에서 불러오면 된다.

 

→ 박스처리된 사슬 모양은 태블로가 이 데이터셋 사이에 Left Join을 수행하였다는 의미다.

    (Airline1과 Airline2의 데이터셋에서 Region 필드로 조인되었으며, 조인된 이유는 이름이 같기 때문이다.)

 

Left Join 시 동일한 컬럼명 (Region)이 있으므로 Region이 공통 컬럼이 되어 Airline2 데이터도 자동으로 Region 컬럼에 맞게 매출이 구분된다.

그러나 기간과 관련된 컬럼명은 각기 다르기 때문에 (Period, Year) 기간은 적용이 되지 않아 Airline2 데이터가 동일하게 나온다.

 

그래서 기간 관련 컬럼들을 공통 컬럼임을 설정하여 기간에 맞게 데이터를 변경할 필요가 있다.

데이터 < 혼합 관계 편집에서 수정할 수 있다.

 

동일한 컬럼이라고 설정을 변경하였더니 그래프가 변경된 것을 확인할 수 있다.

[+] 추가로 이렇게 변경하지 않고, 컬럼명을 동일하게 맞춰주는 방법도 있다.

 

블렌딩은 시트 1개를 기반으로 작업한다.

새로운 시트를 열었을 때는 적용이 되어있지 않기 때문에 새롭게 블렌딩을 해주어야 한다.

 

또한 블렌딩이 Left Join임을 알 수 있는 것이 Airline2 데이터에서 Airline1 데이터를 블렌딩하니 Region 카테고리가 4개만 있는 것을 확인할 수 있다. (Airline2 데이터의 Region이 4가지이므로)

 

5.2 이중 축 차트

부서 별 매출액 목표와 실제 매출액을 확인할 수 있도록 데이터를 시각화해보자.

 

📌 데이터

AmazingMartEU2.xlsx
ListOfOrders + OrerBreakdown (Inner Join) & SalesTargets (2개의 시트는 조인 후 다른 시트와 블렌딩 진행)

 

 

1) 카테고리 별 월 매출액 시각화

 

2) 카테고리 별 월 목표 매출액 추가

2개의 데이터가 Category 컬럼은 연결되어 있으나, 월(Order Date) 관련 컬럼은 연결이 되어 있지 않기 때문에 연결 필요하다.

→ 년월만 했을 때 관계가 형성이 되지 않기 때문에 추가로 년도 함께 연결을 해준다.

 

목표 매출액 그래프를 도형으로 변경하여 시간 별 추이를 확인해본다.

▼ 다음과 같이 각 부서 별 월 목표 매출액 추이를 확인할 수 있다.

Furniture 부서 - 선형적으로 상승하는 목표액을 가지고 있음
- 매달 상승해야 하는 특정 매출의 계수가 있음
Office Supplies 부서 - 3개월마다 분기별로 목표액을 가지고 있음
- 분기마다 목표액을 검토하고 그에 따라 시즌 상품이나 예상된 물건 같은 것들을 조정함
Technology 부서 - 매년 목표액을 검토하고 설정함

 

3) 월 매출액과 목표 매출액 데이터를 합친 이중 축 차트를 만들어보자

① Target 쪽 축 우클릭 > 이중축 클릭 
→ 월 매출액 차트와 목표 매출액 차트가 합쳐진다.

② 우측 Target 쪽 축 우클릭 > 축 동기화
→ 2개의 데이터의 축을 동기화하여 같은 축 범위로 만들어준다. (⭐ 매우 중요함!)

③ 행에 있는 ‘합계(Target)’을 ‘합계(Sales)’ 앞으로 위치 변경
→ 목표 매출액 차트가 매출액 차트 뒤로 간다.

 

 

5.3 블렌드에서 계산된 필드 생성

블렌딩되는 데이터 2개 모두에서 데이터 요소를 요구하는 계산된 필드를 생성하는 방법이다.

 

모든 막대를 하나씩 가져와서 매출액이 목표 매출액보다 더 높은지 볼 수 있는 차트를 만들어보자.
→ 부서 별 실적이 어떤지 빠르게 확인할 수 있다.

 

1) 데이터가 많아 복잡하기 때문에 필터를 통해서 각 카테고리 별로 그래프를 볼 수 있도록 설정

 

2) 매출액에서 목표매출액을 뺀 새로운 필드를 구하기

→ Sales 우클릭 > 만들기 > 계산된 필드 클릭

 

3) 매출액이 목표 매출액보다 높은지 낮은지에 대한 그래프 추가하기

→ 위에서 구한 필드(Excess of Target)을 행에 추가 + 색상에 드래그 + Category를 세부정보에 드래그

 

✅ Furniture 부서

→ 목표 매출액을 달성하지 못한 월이 많음

[방안] 목표 매출액을 다시 설정할 필요가 있음

 

✅ Office Supplies 부서

→ 목표 매출액을 대부분 달성하였음

[방안] 목표 매출액을 분기마다 검토하여 목표 매출액 재설정하기

 

✅ Technology 부서

→ 1년에 한 번씩 목표 매출액을 설정함

→ 계절에 따라 목표 매출액 달성이 달라지는 것 같으므로 계절성 영향이 있는 것으로 추측됨

[방안] 구매하는 고객이나 재고가 어떻게 조정이 되었는지 등 고객의 행동적 패턴에 기반하여 목표 매출액을 재설정할 필요가 있음

 

5.4 데이터 모델, 관계

✅ 데이터 모델 (아래의 데이터 활용)

 

Brazilian E-Commerce Public Dataset by Olist

100,000 Orders with product, customer and reviews info

www.kaggle.com

 

위의 스키마를 통해 다음과 같이 태블로에서 데이터 모델을 만들 수 있다.

 

✅ 관계

- 데이터 모델은 논리(Logical) 계층과 물리(Physical) 계층으로 나누어져 있음

- 논리 계층 수준에서 관계를 생성함

- 관계가 조인보다 더 유연함 (조인은 물리 계층 수준에서 생성)

- 관계에서는 테이블들이 다 분리되어 있음 (그러나 관계로 연결되어 있기에 바로 필드를 조합할 수 있음)

- 태블로는 알맞은 집합 수준에서 자동으로 데이터를 연결함

- 무엇을 사용할지 모르겠으면 관계를 사용하기

 

 

관계가 조인과 다른 점

관계는 분석을 위해 여러 테이블에서 데이터를 결합하는 동적이고 유연한 방법입니다

help.tableau.com

 

5.5 관계 작업하기 (예제)

매니저의 담당 위치에 있는 판매자들에게 매니저가 고객으로부터 총 얼마의 금액을 받았는지를 나타내는 버블차트를 만들어라.

 

① geo_sellers 테이블의 위도, 경도 데이터를 열과 행에 추가

② sellers 테이블의 Seller Id 데이터를 세부정보로 드래그

③ sellers 테이블의 Seller State 데이터를 색상으로 드래그

④ order payments 테이블의 Payment Value 데이터를 크기로 드래그

⑤ 맵 > 배경 맵 > 거리로 설정

 

 


6. 테이블 계산, 대시보드, 스토리텔링

6.1 매핑 (지도 그리기)

1) 지리적 정보 설정

지도를 그리기 위해서는 지리적 정보를 담은 데이터가 필요하다. (ex. 위도, 경도 등)
현재 데이터에는 없으나, 지역 정보가 있기 때문에 이를 지리적 정보로 설정해주면 된다.
→ Region 우클릭 > 지리적 역할 > 주/시/도

 

영국이 아닌 전 세계 지도가 나온다. 그래서 아래에 ‘4개의 알 수 없는 항목’ > 위치 편집을 클릭한다.

 

그러면 다음과 같은 창이 나오고 국가를 영국으로 설정해주면 위치가 자동으로 설정된다.

 

2) 마크에서 자동 → 맵으로 차트 종류 변경
3) Region을 색상으로 드래그
4) 자동으로 생성된 행의 갯수 데이터를 레이블로 드래그하여 고객의 수를 그래프에 표현

 

6.2 인구 통계학적 세분화

은행 고객의 성별, 직업, 나이 등을 시각화해보자.

 

✅ 고객 성별 비율

1) 은행 고객의 성별의 수를 나타내는 파이차트 기본 틀 만들기

 

2) 성별의 수가 아닌 비율을 나타내기

레이블 표현을 한 데이터(필드)를 테이블 계산으로 대체하고자 함

비율로 변경되면 필드에 삼각형 모양으로 변경됨 (파란색 박스)
→ 레이블 필드 우클릭 > 퀵 테이블 계산 > 구성 비율

 

✅ 연령 분포

각 특정 연령 별 회원의 수를 보는 것이 아닌, 연령 계층 별로 어떻게 분포되어있는지를 보고자 한다.

 

1) bin 설정하기

→ Age 필드 우클릭 > 만들기 > 구간차원

5년 단위로 연령 분포를 확인하기 위해 구간차원 크기를 5로 설정해주었다.

이렇게 만들어진 Age(구간차원) 필드는 더 이상 숫자 변수가 아니므로 차원(dimension)으로 변경된다. (→ 범주형 변수)

 

2) 비율로 나타내기

이 그래프는 대시보드 안의 지도와 함께 작업할 것인데, 지도에 인원 수가 있기 때문에 이것은 비율로 나타내고자 한다.

→ 행에 있는 카운트 필드 우클릭 > 퀵 테이블 계산 > 구성 비율

 

✅ 잔고 별 분포 (+ 매개변수)

1) 연령 분포 차트와 동일하게 그래프 그리기

 

2) 매개변수 활용

매번 매개변수를 편집을 통해 설정하는 것은 번거로움
그래서 매개변수를 빠르게 조정할 수 있는 옵션을 추가하고자 함

① 매개변수 만들기
좌측 데이터 화면 우클릭 > 매개변수 만들기

 

② 매개변수 옵션 기능을 워크시트에 추가하기
매개변수 필드(Balance Group) 우클릭 > 매개 변수 표시

③ Balance(구간차원) 필드와 연동하기
필드 우클릭 > 구간차원 편집 > 구간차원 크기 수정

 

다음과 같이 슬라이더로 구간차원을 바로 변경하며 그래프를 확인할 수 있다.

 

✅ 직업 별 고객 수 & 비율 (트리 맵 차트)

원하는 데이터(필드)를 넣고 표현 방식에서 트리 맵 차트를 선택

 

6.3 고객 세분화 대시보드

1) 시트를 하나씩 대시보드로 가져온 후 위치 조정


2) 상호작용(인터렉티브)할 수 있도록 설정

각 시트의 기타 옵션 > 필터로 사용 클릭
대시보드 > 동작에서 상호작용 가능하게 옵션을 선택하면 됨


3) 그래프에서 팝업창 뜨는 기능 제거

대시보드에 있는 각 시트 클릭 > 워크시트 > 도구 설명 > 표시 체크박스 해제

 

 

6.4 대시보드 분석

대시보드를 통해 특정 계층 별 데이터를 확인하고 이를 통해 인사이트를 얻을 수 있다.
각 데이터를 통해 포지셔닝을 달리하여 홍보, 전략을 짜야한다.

 

1) 전체 대시보드 (Balance, Age)

→ Balance : 잔고가 적을수록 고객의 수가 많음

→ Age : 대부분의 고객이 30대 (40%)

 

2) 지역 별 분석

✅ 영국

→ 연령이 높은 사람의 비율이 적음

→ 여성 고객이 더 많음

→ 사무직 종사자들이 많음 (아마도 유럽의 경제 허브가 있는 런던 때문일 듯)

 

✅ 스코틀랜드

→ 40대 후반 ~ 50대 초반이 많음

→ 남성 고객의 비율이 높음

→ 노동자의 비율이 높음

▶ [홍보 전략] 본인과 가족들을 보호해준다고 보험 홍보

 

✅ 웨일즈

→ 중간 크기의 잔고에 많이 분포되어 있음 (구간차원을 변경해서 확인하기)

 

✅ 북아일랜드

→ 연령대가 20대 후반 ~ 30대 초반으로 낮음

→ 여성 고객의 비율이 높음

→ 직업은 other이 많음

▶ [홍보 전략] 내집마련, 결혼, 아이 등 삶의 전환점이 될만한 일들을 보장해준다고 보험 홍보

 

6.5 스토리

대시보드를 스토리로 만들면서 인사이트와 이야기를 전달해보자.

 

1) 캡션으로 각 스토리에 대한 인사이트 기재

 

2) 그래프 중 특정 데이터에 주석 달기

→ 그래프 우클릭 > 주석 추가 > 마크2


💡 회고

오늘 진짜 모처럼 오랜만에 공부로 진 빠진 날이다.

태블로 강의를 들으면서 하나씩 따라하고, TIL을 작성하다보니 굉장히 많은 시간을 썼다.

하루종일 딴짓하지 않고 정말 열심히 공부했는데, 진도가 매우 느리다. 이 강의를 이틀 안에 끝내야 한다니 말도 안돼...

(결국 오늘 안에 못 끝내고 내일 마무리할 예정!)

 

예전에 태블로 잠깐 했을 때는 워크시트만 활용했었는데 오늘 대시보드와 스토리를 많이 활용해서 이것에 대한 지식을 얻을 수 있어서 좋았다.

또한 시각화 뿐만 아니라 시각화를 통해 인사이트를 도출하는 것도 함께 배울 수 있었다.

 


▼ 내 Tableau Public ▼

 

송아람 - Profile | Tableau Public

송아람's Tableau Public profile. View interactive data visualizations published by this author.

public.tableau.com

 

728x90