ThinkCatLog

[Tableau] 태블로 기초 본문

데이터 분석/Tableau

[Tableau] 태블로 기초

생각냥 2024. 1. 8. 16:01

이 글은 부스트코스에서 무료 제공하는 강의인 강승일 강사님의 〖데이터 시각화를 위한 태블로〗의 1~2장을 듣고 쓰는 글입니다. 강의가 궁금하시면 아래 링크를 참고하시길 바랍니다!

https://www.boostcourse.org/ds121

데이터 시각화를 하는 이유

데이터를 이용하여 시각화를 하는 이유는 무엇일까? 아마도 데이터를 통해서 인사이트를 얻고, 그 인사이트를 공유, 활용하고 싶은 이유에서라고 생각한다. 그렇다면 좋은 데이터 시각화는 무엇일까? 내가 생각한 인사이트를 다른 사람도 이해할 수 있도록 전달하고 설득할 수 있는 시각화이다. 다른 사람에게 나의 생각을 전하는 것은 매우 어려운 일이다. 특히, 그 생각이 돈과 관련되 있는 생각일수록 더 그런 것 같다. 회사에서는 대부분의 액션이 비용과 관련되어 있고 어떤 액션을 하도록 나의 생각을 전달하는 것은 매우 어렵다.


좋은 시각화를 하기 위해서는?

시각화를 예쁘게 하는 것이 아닌, 시각화에 결론을 함께 담아야 한다. 그러기 위해서는 시각화를 하는 목적과 문제, 그리고 현 상황을 확인할 수 있는 지표와 데이터가 있어야 한다. 그 후, 결론을 시각화와 함께 인사이트를 결론으로 전달하는 것이다. 이때, 시각화가 결론 전달에 효과적으로 도움이 되었다면 좋은 시각화라고 할 수 있을 것이다. 시각화를 할 때에는 결론이 담겨있어야 한다는 것을 항상 유념해야한다.

예시 - 좋은 시각화 (고위 : 나이팅 게일의 크림전쟁 사망자 차트

- 인사이트 : 사망자가 부상보다 예방할 수 있는 전염병으로 인한 사망자가 더 많다. 전염병은 병원의 위생상태로 인한 것이기 때문이다. 따라서, 병원 위생상태 개선이 시급하다!

출처 : 위키백과

나이팅 게일은 이 차트를 이용하여 고위 공무원들이 병원 위생상태에 관심을 가질 수 있도록 설득할 수 있었다고 한다. [출처 : 위키백과]
해당 차트는 월별로 구분되어 있으며, 각 월은 부채꼴 모양으로 표현되어 있다. 파란 부분의 넓이 전염병으로 인한 사망자 수, 빨간 부분의 넓이 부상으로 인한 사망자 수, 검은 부분의 넓이 기타 이유로 인한 사망자 수를 의미한다.


예시 - 나쁜 시각화 (결론의 부재) : 기준 월의 신용카드 사용액과 1달전 신용카드 사용액의 상관관계

인사이트 : 신용카드 사용액은 기준 월에 대해서 1달 전과 높은 상관관계를 가진다! (그래서 결론이 뭐죠?)

출처 : 나

예전에 시각화를 위해 만든 자료이다. 시각화를 통해 말하고자 하는바가 없다. 시각화의 목적은 없고 단지 상황만을 말하고 있다. 그리고 여러개의 차트를 나열하여 무엇을 봐야하는지 알 수가 없다.


BI 툴 : 태블로

태블로는 BI 툴이다. 회사에서 분석을 쉽게 할 수 있게끔 시각화를 지원하는 도구이다. PowerBI, Looker, Redash 등 여러 시각화 툴이 있으며, 태블로도 이러한 시각화 툴 중 하나이다. 다음에 시각화 툴 기능을 한번 비교해보려고 한다.

태블로의 장점과 단점

태블로는 쉽고 빠르고 예쁜 시각화를 지원하고 다양한 데이터베이스에 연결가능하지만, 높은 비용과 제한된 기능이 단점으로 지적된다.

지금은 태블로를 이용하여 공부하긴 하지만, 다른 시각화 툴에 대해서도 알아둘 필요가 있어보인다. 특히, 회사에 지원할 때, 그 회사에서 사용하는 시각화 툴에 대해서 어느정도 알고 면접을 가는 게 좋을 것 같다.

하지만, 시각화 툴보다 중요한 것은 시각화를 통한 인사이트 전달능력임에 유념하면서 태블로 공부를 해야한다. 목적을 잊은 기술 공부는 쓸모가 없다고 생각한다.

아래 링크의 글을 참고했다. https://mode.com/blog/reviews-of-tableau

[Tableau Reviews: A Roundup of the Pros, Cons, and Where It Fits in the Modern BI Landscape | Mode

We’ve curated some of the more relevant reviews around Tableau to help you in evaluating a BI tool decision.

mode.com](https://mode.com/blog/reviews-of-tableau)

장점

  1. 쉽고 빠른 시각화
  2. Drag & Drop을 이용하여 Chart 구성.
  3. 다양한 데이터베이스 연결 지원

단점

  1. 높은 비용
  2. 제한된 차트 포맷과 커스터마이제이션

태블로 차트 만드는 순서

먼저, 차트를 만드는 순서를 정리해봤다. 어떤 차트를 만들든 이 과정은 필수적이라고 생각하였다. 해당 과정의 순서는 상황에 따라 바뀔 수 있다.

1. 확인하고 싶은 지표(측정값)를 선택한다.

1. 확인하고 싶은 측정값 선택.


2. 해당 지표를 비교할 차원(이산형 변수 : 성별, 나이대 등)을 정한다. 또는 확인하고 싶은 지표와 비교하고 싶은 측정값(연속형 변수)을 선택한다

2. 나눠보고 싶은 차원 선택. (왼) / 측정값 선택(오)

만약 오른쪽 사진처럼 둘다 연속형 변수로 선택했다면 마크에 해당 값을 나눌 차원을 지정한다.

2-1. 둘다 연속형 변수인 경우, 마크에 해당 값을 나눌 차원을 선택한다.

3. 어떤 형태의 차트로 볼지 정한다.

  • 막대 차트
  • 라인 차트
  • 분산형 차트
  • 등등

3. 원하는 차트를 선택.


태블로에서 사용되는 기본 개념

차원과 측정값

차원과 측정값

측정값 : 시각화하려는 기본 지표, 예를 들어 지역별 총 매출액에 대한 시각화를 하려고 할 때, 측정값으로 매출액을 사용한다.
차원 : 나눠서 보고 싶은 차원, 예를 들어 지역별 총 매출액에 대한 시각화를 하려고 할 때, 차원으로 지역 변수를 사용한다.

먼저, 측정값을 선택하고 차원을 통해 측정값을 차원에 따라 나눈다.


불연속형연속형

불연속형과 연속형

불연속형 변수(이산형 변수, Ordinal 변수)는 파란색으로, 연속형 변수는 초록색이다. 보통 불연속형은 차원으로 분류되고 연속형은 측정값으로 분류된다.


날짜에서의 불연속형과 연속형

불연속형 날짜와 연속형 날짜

같은 그래프를 날짜의 타입만 바꿔서 표현해보았다. 왼쪽은 연도별로 그래프가 나뉘어 있는데 오른쪽은 쭉 이어진 것을 볼 수 있다. 불연속형은 날짜를 연도 단위, 분기 단위, 월 단위, 일 단위 등으로 구분하여 특정 값에 해당하는 모든 값을 보여준다.

불연속형과 연속형 날짜의 차이

함수를 이용하여 구별하기

불연속형 DATAPART 함수 / 연속형 DATATRUNC 함수

불연속형과 연속형 날짜를 구분하는 방법은 함수도 있다. 불연속형에 사용되는 DATAPART 함수는 날짜의 특정 연도, 분기, 월, 일 단위를 추출하는 함수이고 연속형에 사용되는 DATATRUNC 함수는 날짜를 특정 연도, 분기, 월, 일까지 잘라내는 함수이다.

예를 들어, DATAPART('month', 2024-01-08) => 1을 return 하고, DATATRUNC('month', 2024-01-08) => 2024-01을 return 한다.


이중축과 결합축

이중축과 결합축 모두 한 그래프 내에 여러가지 값을 나타내고 싶을 때 사용된다. 보통 값을 비교할 때 사용된다. 이중축은 스케일이 다른 값들에 대해서 비교할 때 주로 사용되며, 결합축은 스케일이 비슷한 값들을 비교할 때 사용된다.

이중축

이중축 만들기

이중축을 만들고 그래프를 해석할 때 유의해야 할 점은 두 축의 스케일이 다르다는 점이다. 한 차트에 표시된 두개의 지표 값을 비교하고 싶다면 이중축의 스케일을 동기화 해줘야 한다.

이중축 스케일 맞춰주기 전(왼) / 이중축 스케일 맞춰준 후(오)

결합축

결합축은 이중축과 다르게 하나의 축에 여러개의 값(지표)를 표시하는 기능이다. 축은 한개로 유지되고(스케일 동일) 하나의 축을 기준으로 두 값이 모두 표시된다. 

결합축 만들기


그룹과 집합

여러가지 값을 하나의 군집으로 묶어서 표현하고 싶을 때 사용하는 기능이다. 그룹은 하나의 차원을 몇 개의 차원으로 축약하여 그룹화하고 싶을 때 사용하며, 집합은 하나의 차원을 어떤한 값을 기준으로 두 개의 그룹으로 나누는 기능이다. 그룹은 3개 이상의 그룹으로 나눌 수 있는 반면 집합은 두개의 그룹으로만 나눌 수 있다.

그룹과 집합의 차이

그룹

그룹은 하나의 차원에 들어있는 여러개의 값을 몇 가지 값으로 구분하고 싶을 때 사용한다. 예를 들면, 우리나라 시도를 6개의 권역으로 새롭게 나누고 싶을 때 사용한다.

17개 시도를 6개의 권역으로 나눔.

집합

집합은 하나의 차원에 들어있는 여러개의 값을 어떤 기준에 따라 두 개의 그룹으로 분리할 때 사용한다. 예를 들면, 스토어의 이익이 3000만원 이상이라는 기준을 충족하는 지역과 아닌 지역으로 나누고 싶을 때 사용한다. 

수익 3000만원 이상이라는 기준으로 두 개의 그룹으로 나눔.

집합 2개이상을 만들어 새로운 집합을 만들수 있다. 예를 들어, 수익 1000만원 이상 집합과 수익 3000만원 이상 집합을 만들어 두 집합의 교집합인 수익 1000만원 이상 3000만원 미만이라는 또다른 집합을 만들 수 있다.


계층

계층은 변수간 계층관계를 나타낼 때 사용된다. 공간 변수와 시간변수에서 많이 사용된다. 공간 변수는 보통 국가 - 시도 - 시군구의 계층관계를 가지며, 시간 변수는 연도 - 분기 - 월 - 일의 계층 관계를 가진다. 또한, 제품이 대분류-중분류-소분류로 구분되는 경우에도 계층관계를 사용할 수 있다.

계층 예시

계층 변수 만들기

공간 변수 계층 만들기

계층을 만들때 주의해야하는 점은 계층에 표시된 순서대로 계층의 순위가 설정된다. 하위 계층은 상위 계층의 아래에 위치해야한다.

계층이 순서대로 구성된 공간변수 / 계층의 순서가 제대로 위치하지 않은 공간변수