STARTERS 4기 🚉/TIL 👶🏻

[STARTERS 4기 TIL] Tableau 기초 #2 (230302)

춘시기좋아 2023. 3. 2. 23:59

 

📖 오늘 내가 배운 것

 

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

2. 데이트 클리닝, 데이터 준비

3. 클러스터, 사용자 지정 영역, 디자인 기능

4. 태블로 새로운 기능 - PDF

 

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

1.1 테이블 계산

(1) Number of Records

이번에 사용할 데이터는 영국의 은행 고객 데이터이다!

데이터를 보면 Region으로 위치를 표현하고 있는 걸 확인할 수 있다.

요 데이터를 그대로 태블로에 던지면 태블로는 지도를 생성하지 못한다! 왜 그럴까?

 

Region이라는 데이터는 영국에서 사용하는 위치 데이터인데, 이걸 태블로가 위치 처리를 할 때 "주"로 인식시켜줘야 하기 때문이다~

[Region 우클릭] - [지리적 역할] - [주/시/도]

 

 

 

 

 

설정을 하면 사진의 1번과 같이 Region에 지구 아이콘이 떠서 지도를 만들 수 있는데 2번을 보면 위치를 인식하지 못한다는 것을 알 수 있다.

때문에 눌러서 위치 편집으로 영국 기준이라는 것을 정의해주어야 한다.

 

정의 후에는 우측 처럼 잘 찍혀 나오는 것을 확인할 수 있다!

 

 

 

 

 

그리고 지역 별 레이블을 표시할 때 사용하는 수치는 해당하는 행의 count를 태블로가 계산해 주기 때문에 그대로 사용하면 된다 => "Number of Records"

 

 

(2) Table Calculation

1. 성비

남자/여자 비율을 구할 때 테이블 계산 기능을 이용할 수 있다.

[라벨 우클릭] - [퀵 테이블 계산] - [구성 비율]

 

계산 적용된 라벨에 대해서는 마크-해당 라벨 우측에 작은 삼각형이 표현된다.

 

 

 

 

 

 

 

 

 

2. 나이 분포

나이를 열로 놓고 차원 값으로 변경 후 "Number of Records"를 행에 놓으면?

우측 그래프와 같이 뿌려준다

근데 이렇게 세밀한 결과를 원한 게 아니었는데..

 

막대기로 바꿔도 동일하다!

요걸 5~10살 정도의 단위로 표현하려면 어떻게 해야 할까?

->> bins를 건드려 줘야 한다~

 

[해당 수치값 우클릭] - [만들기] - [구간차원 편집]

 

설정하게 되면 더 이상 수치형이 아닌 범주형 변수이기 때문에  차원 탭으로 옮겨가게 된다.

 

 

 

 

 

좌 : count / 우 : percentage

좌측 : 설정이 완료된 모습!

 

근데 우리는 지도와 함께 대시보드를 구성하는 것이고, 지도에 이미 총인구수 분포가 정수로 존재하기 때문에 굳이 확인할 필요가 없다!

이전에 파이 차트도 그렇기에 비율로 계산했던 것

그러므로 우측 : 연령대 별 인구 수 비율로 확인해 보자~

 

3. 잔고에 따른 고객 분포

위의 연령대 구하는 방식과 동일하다

근데 여기서 bins 단위에 따라 특정 구간의 변화를 세밀하게 관찰할 수 있다.

 

 

요 bins를 쉽고 빠르게 바꿔줄 수 있는 매개변수를 만들어보자

 

- 매개변수

[Measures (수치) 부분 우클릭] - [매개 변수 만들기]

이름, 형식, 범위 설정 진행

 

만들어놓은 매개변수는 [수치 값] - [(해당 범주 bins) 편집]에서 맵핑해줘야 함!

 

 

 

 

그림과 같이 쉽고 빠르게 설정한 대로 범위를 변경할 수 있다.

 

나이도 똑같이 설정!

 

4. 직업 분류 - 트리맵

만드는 방법은 쉽다!

[행에 Job 넣기] - [Number of Records를 레이블로 넣기] - [표현 방식 - 트리맵 선택]

 

1.2 대시보드!

만든 시트들을 적절히 넣어주고 크기, 매개변수 등 디테일 설정해 주면 됨!

 

(1) 반응형 대시보드 및 색상 설정

지도 지역에 따라 다른 그래프들이 반응되게 만들고 싶다면?

저번에 했던 것처럼 액션을 만들어주면 됨!

 

[지도 - 필터로 사용] - [도구 - 대시보드] - [동작 - 필터 설정]

지도에서 지역을 선택하면 해당 지역에 맞춰 타 그래프들이 변화하는 액션 대시보드

 

모든 그래프에 전부 [필터로 사용] 걸게 되면?

다음과 같이 [남성/사무직]

- 영국에 많이 산다

- 주로 30~35세

등등의 디테일한 인사이트를 얻을 수 있다.

근데 Tooltip이 어디에 마우스를 올리던 나오는 게 방해가 됨!

 

이건 각 워크 시트에서 설정을 해지해주면 된다

[대시보드에서 원하는 워크시트 클릭] - [도구 - 워크시트] - [도구설명] - [도구 설명 선택 해지]

 

 

 

 

 

 

(2) 분석

Map : 영국이 가장 많은 고객

balance : 30K 아래 절반 이상의 고객들이 몰려 있다

Age : 30대 고객이 40% 된다

Gender : 남성의 비율이 살짝 높

Job : 절반 정도가 사무직

 

각 지역이 전체 평균에서 얼마나 다른지가 궁극적으로 알아보고자 하는 것! 지역 골라보자

 

흥미로웠던 데이터

스코틀랜드

좌 : 전체 / 우 : 스코틀랜드

1. 연령대가 높다

2. 남성이 훨씬 많다

3. 사무직이 거의 없다

-> 스코틀랜드에서 고객 유치하고 싶다면 40대 후반에서 50대 초반 남성을 겨냥한 마케팅!

-> 사진에는 안 보이지만 Job - Other의 비율은 여성이 높다! 이 부분도 고려하여 마케팅

-> 연령대 높고 고위험 직군에 종사하시는 분들이 많기에 안전, 가족 지킴 등으로 접근

 

웨일스 : 고객들이 돈이 많다

-> 돈을 안전하게 불리기 좋다~

 

아일랜드 : 고객들이 어리고, 여성이 많다

-> 보험을 판다면 연령대가 어리기 때문에 집을 사거나, 결혼을 하거나, 아이를 갖거나 등의 미래 지향적인 스토리를 통해 접근

 

1.3 PT를 위한 스토리 라인 구성 

스토리 라인은 한 캡션 당 1개의 시트만 들어갈 수 있다!

 

구성 순서

1. 전반적인 고객 기준선

2. 각 나라 별 인사이트

 

중요 부분을 강조하고 싶다면

[해당 부분 우클릭] - [주석 추가] 

# 매개변수는 각 스토리 별로 할당, 서로 영향 끼치지 않음

 

2. 데이터 클리닝, 데이터 준비

태블로는 응애라 데이터를 줄 때 녀석이 좋아하는 형태로 가공해줘야 함

 

예를 들어

- 헤더, 여백 제거

- 시계열 데이터는 열로 Month나 Period 같은 이름 붙여서 넣어줘야 하고

- 성별도 열로 쭉 나열해야 함

- total 있다면 없애야 함

 

-> 이러한 작업들을 태블로가 [태블로 해석기]를 통해 자동화해준다고 한다.. 태블로야 응애라 해서 미안해ㅠ

 

(1) 태블로 해석기

실습 데이터는 최근 본 데이터 중에 가장 더러운 데이터 사용!

 

태블로에 넣고 데이터 해석기를 돌려보고...

돌린 후 리뷰를 통해 데이터를 어떻게 만들었는지 살펴보자

 

하얀 공간 : 무시

붉은 칸 : 태블로가 헤더라고 말하고 있다!

초록 칸 : 데이터들을 정리하여 넣은 공간

# 사진에는 없지만 마지막 행 아래 * 붙은 코멘트는 무시

 

작업이 더 적절히 수행되게 하기 위해 기존 엑셀 파일을 수정한다.

위 테이블처럼

1. Regions에 속하는 Country 행에 Regions를 쭉 뿌려주고

2. Regions, Country 분리

3. 필요 없는 빈 행, 총합 행 지워주면 됨

4. 태블로에게 줍시당

 

(2) 피봇

이제 Regions, Countries를 기준으로 나머지 열들을 전부 피봇 해주기

열 선택하고 아래처럼 우클릭 - 피봇

 

(3) 스플릿

[원하는 컬럼 선택] - [드롭 다운] - [분할]

 

굳이 스플릿을 전처리로 하지 않아도 태블로에서 할 수 있다는 거 알아두기

 

(4) 메타데이터 그리드

컬럼 요약 부분에서 이름 바꿀 수 있다는 내용

 

(5) 간단 시각화

 

(6) 오류 다루기

지역 별 자동차 판매량을 시각화한 후에 좌측 하단에 오류 메시지를 발견할 수 있다! 이게 뭘까

데이터 필터링 : 삭제 (비추)

기본 위치에 데이터 표시 : 대치 (비추)

위치 편집!!! 잘 찾아서 넣어 준다

 

#추가 혹시 다른 나라에 같은 이름의 지역이 있다면 [맵] - [위치 편집]으로 

작업 중인 지역을 정의해줘야 함!

 

 

 

 

3. 사용자 지정 영역, 클러스터, 디자인 기능

3.1 사용자 지정 영역

(1) 맛보기

도시별 평균 수익의 지표를 평가해야 하는 상황!

이걸 어떻게 측정하고 평가할 수 있을까?

 

위 데이터에 대해 측정값을 평균으로 두고 맵을 그렸다면

각 State에 속해있는 City들에 대한 평균이 구해진다

 

근데 우리가 원하는 건 Region1 / Region2에 속한 해당 State 들의 평균이기 때문에 

주황색 영역파란색 영역을 하나의 지리적 객체로 인식시켜야 함!

-> [사용자 지정 영역] 즉, 그룹화를 통해 해결할 수 있다

 

그룹화

: [ctrl click으로 영역 선택] 후 [클립 모양] or [우클릭] - [그룹] - [모든 차원]

 

그룹화 이후에 구하고 싶었던 값들을 레이블로 추가 후 꾸며주면 완성

 

 

(2) 사용자 지정 영역 바로 만드는 법

[Sales Region] - [지리적 역할] - [만들기 원본] - [State]

> 우측과 같이 Sales Region이 City, State의 상위에 생성

 

이와 같이 태블로에게 주를 기반으로 판매권역을 만들도록 하면?

 

판매권역이 지리적 역할로 인식이 되어 있지 않다고 해도 태블로가 데이터 셋을 보고, 주는 지리적 역할로 인식이 되어 있구나~ 확인 후 태블로가 그 판매권역과 관련된 모든 주를 집단화한다, 우리 대신 집합을 만들어주는 것!

바로 아래와 같은 결과

 

(3) 하이라이터

기존, 추가된 주의 Revenue 분포를 확인해보자!

요 상태에서 New, Old를 선택했을 때 그에 따른 하이라이트 효과를 줄 수 있을까?

 

적용하고 싶은 값 [우클릭] - [하이라이터 표시]로 간단히 만들 수 있다!

필터처럼 추가되어 원하는 대로 분류해서 확인할 수 있음

 

3.2 클러스터링

(1) 클러스터링?

클러스터 : 비슷한 특성을 가진 데이터끼리의 묶음

 

위에서 수익이 높고 낮은 도시를 시각화해봤는데

아직 어떤 도시에 마케팅 투자하는 것이 좋을지는 알 수 없다!

스토리텔링 시각화 작업 해보자

기업 입장에서 마케팅에 투자한 비용만큼 더 높은 수익을 기대하는 것은 당연하다

 

고럼 마케팅 투자 대비 수익을 시각화해 보자!

x축 : Marketing Spend

y축 : Revenue

 

보면 그룹이 두 개로 나뉘는 것을 확인할 수 있다.

통계학적인 관점에서 이 둘을 어떻게 분석할 수 있을까? -> 이때 사용할 수 있는 방법이 클러스터링

 

 

 

 

 

 

(2) 클러스터링 방법

[분석] - [클러스터를 차트에 드래그 드롭]

드래그 드롭 후 태블로가 클러스터링에 사용하는 두 개의 변수를 확인할 수 있다.

이 변수들을 사용해서 k-means clustering 알고리즘을 적용하고 시각화하는 것!

-> 직관적으로 확인할 수 있는 효과

 

여기서 하이라이트 기능을 사용해 정보를 얻어보자!

New Expansion 하이라이트 사용해서 보면 아래 두 개의 지역 보다 위쪽 나머지 지역에 투자하는 것이 효율적이라는 것을 알 수 있다.

 

현재 분석하고 있는 회사는 사람을 상대하는 회사

- 방문해서 세탁을 대신해 주는 외주 업체

세탁 서비스 > 서비스를 이용하는 고객 수가 중요 > 그럼 도시의 인구가 중요!

 

그렇다면 마케팅 대비 수익이 적은 지역들은 인구와 어떤 연관성이 있을 수도 있다

 

인구와 관련된 외부 데이터 셋을 분석에 활용해 보자

 

3.3 크로스 데이터 조인

인구 관련 데이터 셋을 가져와 조인해 주자!

근데 회사 데이터는 excel이고 인구 데이터는 csv인데 조인할 수 있나?

있다! 크로스 데이터 조인 이용

 

근데 조인을 하려고 보니 문제가

미국에는 State 별, City 이름이 겹치는 경우가 있다!

해서 City 만으로 조인하는 것은 구체적이지 않음

 

State까지 추가해서 조인하면 150개로 중복 없이 조인된다.

그리구 새롭게 추가된 데이터에서 사용할 건 인구 데이터뿐이니 나머지는 숨기고 이름 편하게 변경해 주기

 

3.4 클러스터링, 모델링, 추세선

(1) 클러스터링, 모델링

추가한 Population을 클러스터에 적용하려면

[클러스터 우클릭] - [편집] - [Poupulation 드래그 드롭]

넣어주면 태블로가 알아서 3가지 변수에 대한 유사성을 검사, 어떤 클러스터 그룹으로 묶을지 판단하고

차트에 색상으로 표현

 

요걸 분석해 보자

기존 차트에서는 인구수가 표현되지 않으므로 Population을 세부정보에 추가해 준다!

보면 Revenue가 높은 그룹의 인구수가 높은 것을 확인할 수 있다.

-> 마케팅 효율이 좋다

 

(2) 추세선

더 자세히 알아보기 위해 추세선을 그려보자

[분석] - [추세선]

 

추세선의 디테일한 내용은 다음과 같다

 

투자 가치가 있는 지역은 추세선 분석에 따라 주황색 부분!

 

3.5 클러스터 저장

클러스터의 저장은

[생성되어 있는 클러스터] - [ctrl + 드래그 드롭]

 

 

3.6 요약

1. 사용자 지정 영역 생성

- 지도에서 직접 선택하여 그룹핑

- 지리적 역할에서 설정

 

2. 하이라이트 사용법

- 색상,모양,크기 아무것도 건드리지 않고 찾고 싶은 것 빠르게 찾을 수 있음

 

3. 클러스터링

- 변수 간 유사성에 따른 군집화!

 

4. 크로스 데이터 베이스 조인

- 다양한 형태의 DB, 데이터 셋 결합

 

5. 클러스터링 모델링, 추세선

 

6. 클러스터 저장 및 분석

 

3.7 문제 풀이

1. 클러스터는 차원인가 측정값인가

-> 차원 - 데이터의 범주 분할을 나타내기 때문

 

2. 크로스 데이터베이스 조인이 있는데 블렌딩이 필요할까?

-> ㅇㅇㅇ 예시 데이터가 집계된 후 작동하는 LEFT 조인이기 때문!

 

4. 태블로 새로운 기능 - PDF 데이터 연결 및 분석

4.1 PDF 연결 #1

분석 목표 : 도시공원 순찰 루트 확보

 

PDF 문서와 연결해야 하는 경우도 생기는데 이 방법을 알아보자~

 

PDF 임포트 프로세스

1. PDF로 가져오기

2. 페이지 범위 설정 (PDF의 시트 번호와 뷰어 번호의 차이 고려)

3. 태블로에서 데이터 확인 및 데이터 해석기

4. 해석된 데이터 확인 (헤더 잘 인식했나, 행 개수가 맞나 등)

5. 정상적인 데이터 다중 선택 후 UNION

6. 불일치 필드 병합 및 불필요 필드 제거 등 테이블 가공

 

(1) 5. 정상적인 데이터 다중 선택 후 UNION

우측 사진과 같이 한 페이지가 Table 1, 2로 나뉘는 경우가 있는데 이건 태블로가 두 가지 방식을 모두 적용하여 해석을 시도한 것

확인했을 때 정상적으로 들어있는 테이블 넘버로 전부 사용해주도록 하자

 

 

 

 

테이블 1만 정상이었다! 전부 선택해서 유니온 해주기 (조인 x)

드래그해서 논리 공간에 넣어놓은 테이블에 가져가면 유니온 나옴! 그곳에 드롭

 

(2) 6. 불일치 필드 병합 및 불필요 필드 제거 등 테이블 가공

이후에 테이블을 확인해보면 좌측 사진과 같이 필드가 불일치 하는 부분이 있는데

[ctrl 다중 선택] - [드롭 다운] - [불일치 필드 병합]으로 우측과 같이 병합해줄 수 있다

 

이후에

- 불필요한 필드 제거

- 이름 변경

수행하여 우측과 같은 테이블을 구성

 

 

 

 

 

이후에 범죄 총합이 맞게 계산된지 확인하기 위해 시트에서 범죄 합계 수를 확인한다

실제 데이터는 109개로 인식하는데 218이 나온 것으로 보아 마지막 줄을 예외처리 해줘야 할 필요가 있어 보인다

 

데이터 원본 탭에서 [필터] - [추가] - [열 선택] - [행 선택 (제외)]로 total을 제외

우측과 같이 정상적으로 109가 나오는 거 확인

 

4.2 PDF 공간 파일에 연결 (Spatial Files)

(1) 공간 데이터란?

위치 및 영역을 X, Y 좌표로 표현한 데이터!

 

(2) 지도 종류

- Polygon map : 색상이 칠해진 지도! 다각형 모양 및 외곽선으로 특정 지역 표현

- Point Map : 위경도 위치 정보를 통해 점 표현

- Line Map : 지점 연결 사이의 거리나 방향

 

태블로에 지리적 역할이 내장

-> 역할을 도시, 주, ZIP 코드 등으로 정의 가능

 

(3) 공간 파일 연결

 

살펴볼 부분은 다음과 같다

Name311 : 나중에 자치구로 변경

기하 도형 : 원본 데이터의 대체 레이블 역할 - 지도에 선,점,다각형 등이 그려지게 함

 

시트에 추가하면 3번째 사진과 같이 공원이 하나의 객체로 그려지게 된다.

 

(4) 공간 파일과 PDF 데이터 연결 전처리

 

영상에는 안 나오지만 대소문자 안 맞기 때문에 조인이 안 된다!

UPPER로 맞춰 주고 조인

 

오픈 소스 데이터 작업할 때 중요한 점

이름 같은 기본적인 필드의 데이터 소스를 결합할 때 잘못된 게 없나 꼭 확인해야 함!

-> 추가 레코드나 중복 레코드

조인 후에 시트에서 합계를 다시 확인해보면 104로 몇 개 빠진 것을 알 수 있다

 

 

 

레코드가 줄어들었을 때 체크 방안

 

- 복제된 항목이 있나 체크

우측 사진과 같이 Records of Table 통해 각 테이블 별 중복 레코드가 있는지 확인한다

 

해당 항목들은 현재 공간 데이터를 수정할 권한이 없으므로 제거해야 한다.

 

근데 생각해보니 PDF에 범죄가 0번 일어난 항목들도 있었잖아?

걔네는 어차피 계산 안 할 거니까 1번 이상 일어난 중복 건에 대해서만

살펴보는게 맞지? 필터를 걸어주자

 

- 사건 개수를 포함하고 있지 않은 데이터

PDF 파일에 사건 수가 0으로 되어 있던 레코드가 있었으니 해당 항목들 제외하고 중복값을 찾고 싶다!

sum Incidents로 필터를 1이상 걸고 걸러 내자

 

두 공원이 중복이네

 

 

 

 

 

 

- 조인이 되지 않은 항목 체크
Park 기준 공간 데이터를 LEFT JOIN해서 확인!

 

정의해놓은 공간 파일을 LEFT JOIN 해서

사건이 0인 항목 중 공간 파일로 조인되지 않은 항목이 있는지 알 수 있음.

철자, 이름 등의 문제로 그럴 수 있다.

 

보면 조인 되지 않은 항목들을 확인할 수 있다.

얘네는 PDF에 사건 발생으로 찍혀 있긴 하지만 공간 데이터에는

존재하지 않으므로 지도에 찍히지 않는다!

 

- 필터로 제외

위에서 구한 중복 되는 공원들을 필터에 넣어서 없애주면 됨

 

- 이제 필요한 컬럼 제외하고 다 날리기

 

(5) 시각화

 

 

지도 주변 요소들

- 별칭 편집 : [우클릭] - [별칭]

- 맵 경계선 편집 : [맵] - [백그라운드 레이어] - [시군구 경계선]

- 필터 설정

- 색상 범위 설정 : 0~6

축적 설정 : [맵] - [맵옵션] - [맵 배율 표시 및 미국]

 

 

4.3 단계 및 점프 라인 차트

(1) 전처리

필드 명 변경 : Area -> Country, NAICS Title -> Industry

지적 역할 설정 : Country - 시군구

타입 변경 : Naics(실수형 -> 문자형)

등급 컬럼 추가 : Nacis의 글자 수에 따른 필드 추 (Level 2글자 -> Level 2)

필터링 : Area Type 중 Country만 남기기, Level 2만 남기기

필요 없는 필드 제거

 

(2) 연도별 평균 급여 - Line Chart

라인차트로 변화율을 쉽게 확인할 수 없을 때는 계단 차트를 사용해보자! 가시성이 좋다

 

(3) Country 별 평균 급여 - map

- 도구 설명에 다른 시트를 넣어줄 수 있다!

[도구 설명] - [삽입] - [시트] - [넣을 시트 선택]

 

시트 두 개도 가능!

 

다듬어서 우측과 같이 더 깔끔하게! 그리고 축 이름, 사이즈 줄여서 더더 깔끔하게 가능

 

(4) Top 5 Industry - bar

# LIMIT는 해당 값 필터로 설정

 

 


💪🏻 앞으로 개선해야 할 점 (추가로 배워야 할 점)

 

📌 이해가 느려서 섹션 한 개 끝내는 게 완전 오래 걸린다..!

그만큼 시간 더 투자하기🐱

 

📌 그래프 종류 중 라인, 바, 맵, 파이 차트는 조금이라도 익숙해졌는데 나머지 그래프들은 완전 👶🏻

연습+정리로 상황별 적절한 그래프 활용 능력 키우자

 

 

#유데미, #유데미코리아, #유데미부트캠프, #취업부트캠프, #부트캠프후기, #스타터스부트캠프, #데이터시각화 #데이터분석 #태블로