본문 바로가기

Data Scientist

tableau-online experiences

반응형

* 태블로 웹세미나 내용을 정리한 내용입니다. 

Why tableau?

 

데이터 시각화를 통해 데이터를 보다 정확하게 이해하고 분석할 수 있도록 도와주는 태블로

 

시각화를 통한 분석과정이 비즈니스 의사결정에 매우 유용하다고 볼 수 있다. 

 

도입형태와 제품군(prep, desktop, server&online)

 


실습 데이터

다양한 지원을 하는 것을 확인할 수 있다. 기본적으로 엑셀, 텍스트 파일, 제이슨, pdf도 지원하며 서버에 연결하여 사용하는 것도 가능하다. 

 

파일 열기

실습파일의 경우 엑셀파일이었는데, 파일을 열면 다음과 같은 화면이 나온다. 

 

좌측에 시트의 데이터를 단순히 드래그앤드랍으로 자료를 나타낼 수 있다.

 

간단한 응용

주문 번호 열을 보면 코드로 작성되어 있는 것을 확인할 수가 있다.

이 중에서 IN이 들어간 데이터만 떼내고 싶다 >> 열의 삼각형을 누르고 분할을 누른다. 

이렇게 분할되어 나타나게 되는데, 컬럼을 물론 숨기는 것 또한 가능하다. 숨기는 것은 해당 열들을 클릭 후 우클릭을 하면 숨김이 나온다. 숨겨놓은 열을 다시 보고 싶다면, 숨겨진 필드표시에 체크하면 된다.

 

자료 별로 특성부여하기(지리 데이터의 경우 지리적 역할)

 

지리 자료일 경우 위쪽의 Abc를 클릭하여 지리적 역할을 부여할 수 있다. 

국가, 시/도로 지리적 역할로 주고, 시군구의 경우 번역 문제로 카운티로 설정

 

Joins

두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법으로 자신이 검색하고 싶은 열이 다른 테이블에 있을경우 주로 사용한다.

여러개의 테이블을 마치 하나의 테이블인 것처럼 활용하는 방법인데 보통 Primary key혹은 Foreign key로 두 테이블을 연결한다. 테이블을 연결하려면 적어도 하나의 열은 서로 공유되고 있어야 한다.

 

join(조인) 또는 결합 구문은 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다. 따라서 조인은 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어 낸다. JOIN은 2개의 테이블에서 각각의 공통값을 이용함으로써 필드를 조합하는 수단이 된다. ANSI 표준 SQL은 네가지 유형의 JOIN을 규정한다.

  • INNER JOIN
  • OUTER JOIN
  • LEFT JOIN
  • RIGHT JOIN

 

내부 조인(inner join)은 여러 애플리케이션에서 사용되는 가장 흔한 결합 방식이며, 기본 조인 형식으로 간주된다. 내부 조인은 조인 구문에 기반한 2개의 테이블(A, B)의 컬럼 값을 결합함으로써 새로운 결과 테이블을 생성한다.

그 질의어는 조인 구문을 충족하는 모든 일치되는 결과 열을 찾기 위해

A 테이블의 각 열을 B 테이블의 각 열과 비교를 한다.

조인 구문이 충족되면, A, B 테이블에서 일치된 각 열의 컬럼 값은 결과 열로 결합된다.

조인으로 도출된 결과 값은 (테이블 A 내의 모든 레코드와 테이블 B에 있는 모든 레코드가 결합하여) 테이블에 존재하는 모든 레코드(또는 크로스 조인)의 최초의 곱집합의 결과값으로 정의될 수 있으며, 그런 이후 조인 구문을 충족시키는 모든 레코드 값을 반환한다.

실제 SQL 실행은 보통 곱집합의 연산이 매우 비효율적이기 때문에 실행 가능한 해쉬 조인 또는 소트-머지(sort-merge) 조인과 같은 다른 접근법을 사용한다.

SQL은 ‘명시적 조인 표현’(explicit)과 ‘암시적 조인 표현’(implicit) 2개의 다른 조인식 구문을 지정한다.

왼쪽 표의 경우 primary key(Product ID) 오른쪽의 경우 foreign key(Product ID)를 기준으로 하여 조인한다. 

단순히 inner join의 경우 몇개의 행이 나오는지는 다음과 같으며 색으로 구분되었다.

primary키와 foreign키가 모두 있는 경우에 교집합 항목이 출력됨

inner join 외에도 left, right join이 있다. 

fred 판매기록 누락됨(기존테이블 값 + 테이블과 기준테이블의 중복된 값). 왼쪽 것 모두 가져오고 오른쪽에서는 해당하는 foreign key들을 가져온다.  

 


분석

연결 중 추출(로컬로 저장 후 사용)을 사용하는 경우 더 빠른 분석 가능

 

left join으로 변경해준 후 시트 1로 이동

시트 1로 이동하면 이와 같은 화면이 나오고, 차원을 보면 각각의 항목들이 보인다.

이 항목들을 드래그앤드랍하면서 데이터를 분석한다. 

 

 

분석 용이하게 하기 위해 오른쪽 위 돋보기 옆 ▼을 눌러서 그룹별로 묶어준다 

그리고 고객 세그먼트, 고객명, 고객번호를 ctrl 또는 shift를 누르며 같이 선택을 해준 뒤 하나의 폴더로 만들어 주며, 폴더 명은 고객으로 한다.

 

다음은 계층을 만들어 본다.

제품 대분류, 제품 중분류, 제품 코드, 제품명을 선택 후 우클릭, 계층을 만들어주고 이름을 제품으로 설정한다.


시각화

매출부터 시각화를 해보자

왼쪽으로 드래그 앤 드랍(열)

단순히 데이터를 드래그앤 드랍으로 데이터를 연결만 했다.

 

라이브 분석

앞서 연결방식에 라이브와 추출이 있었는데 라이브의 경우 위와 같은 과정을 거쳐 동작한다. 

추출의 경우 로컬pc로 hyper라는 파일로 저장 후 분석을 하기 때문에 좀 더 빠른 동작이 가능 

 

 

파란색으로 표시한 버튼을 클릭하면, 여태까지한 차트가 지워진다.

 

오른쪽 마우스로 선택 후 열에 고객명을 놔보자

그러면 필드 놓기가 되고, 카운트(고유)(고객명)을 선택한다.

 

 

고객 세그먼트 별로 보고 싶다면 단순히 고객 세그먼트를 행에 드래그앤드랍


제품 대분류에 따른 매출(합계)

제품 대분류의 왼쪽에 +를 누르면 제품 중분류가 추가된다. 

그리고 내림차순을 통해 데이터 정리

 

 

제품 대분류를 색상으로 표시하고 싶다면 제품 대분류를 마우스 왼쪽 클릭 후 드래그하여 마크의 색상에 끌어다 놓는다.

물론 색상의 변경 또한 가능하다. 

그러나 제품군에 따라 색상으로 분류하는 것은 큰 의미가 없다.

이번엔 수익을 색상에 올려놓는 경우

파란색일수록 수익이 좋은 아이템. 주황색이면 수익이 좋지 않다. 오른쪽에 범례가 추가된 것을 확인할 수 있다.

현재 탁자의 수익이 좋지 않음을 알 수 있다.

 

이번엔 지역에 대한 정보도 열에 추가해보자.

 

그럼 지역 별로 제품 분류에 따른 수익이 나타난다. 

지역 별로 보는 것을 해제하고 싶을 땐 다시 드래그해서 바깥에다가 놓아주면 지역별 분류가 해제된다.

 

차트의 제목을 변경하고 싶다면 엑셀의 변경방법과 동일하다. 단순히 좌측 아래 더블 클릭 후 제목 수정 가능

 

새로운 분석을 위하여 시트2로 이동

이번엔 주문일자와 수익을 통해 시각화를 하고 분석을 하고자 하는데, 오른쪽에 표현방식을 보면 태블로가 보다 알맞은 차트를 추천해준다.  여기선 선형차트를 이용한다.

 

선형 차트를 통해 데이터를 추가하고 빼면서 유의미한 결과를 도출할 수 있다. 

수익이 들쭉날쭉하고, 매출 성장률이 크진 않다는 인사이트를 얻을 수 있었다. 

 


전년 대비 성장률 구하기

tableau YoY(태블로 전년 대비) 

퀵테이블 계산을 이용하면 손쉽게 전년 대비 성장률을 구할 수 있다. 

전년대비 성장률이기 때문에 2016년은 나타나지 않으며, 오른쪽 차트와 같이 전년 대비 성장률이 나타나게 된다. 

 

 

제품 중분류를 필터에 끌어 놓고, 탁자에 대한 것만 보았을 때 차트는 위와 같았다.

 

그리고 퀵테이블계산에서 누계를 선택해주면 아래와 같이 계속 하향하는 그래프가 나타난다.

 

이는 마크를 영역으로 변경했을 경우이다.

 

 

매출을 차트의 축에 추가해보자

매출은 월 별로, 수익은 누계로 계산이 되었음을 알 수 있다. 

테이블 계산 편집 후 패널 옆으로 

* 패널은 현재 화면에서 '연도'로 쪼개진 작은 박스를 의미한다. 테이블 계산식이 패널 안에서만 적용된다. 

이렇게 매출트렌드를 파악할 수 있다.

 

태블로 프렙을 이용하면

손쉽게 데이터들을 합치거나 편집할 수 있다. 

 


지도 시각화

국가 더블클릭, 시도 더블클릭하면 지도에 바로 점으로 표시됨

17개의 마크가 존재하는데, 매출을 표현해보자

매출을 (크기)로 표현해보자 마크에 크기에 끌어다 놓으면 된다. 

수익을 색상에 올려놓자

서울 경기도가 수익성이 가장 좋은 것을 확인할 수 있다. 

 

점말고 마크 타입을 맵으로 표현해보자

제품 중분류 중 탁자의 경우 수익을 보자면(필터에 제품 중분류:탁자 추가), 전국적으로 매출이 발생하는 것을 알 수 있다. 그러나 서울, 경기권의 경우 탁자의 수익이 낮은 것을 확인할 수 있다. 

 

대시보드

 

이번에 대시보드로 들어가서 워크시트들을 한번에 모아 볼 수 있다.

드래그앤드랍을 통해서 한 화면에 다음과 같이 나타낼 수 있다. 

 

 

상: 제품별 매출/수익 필터 중 가구 , 하: 지도 필터로 이용, 경기도

필터를 누른 후 원하는 항목을 클릭할 경우 모두 연동되어 나타난다. 


탁자의 수익성 악화 원인을 찾고 싶다...

새로운 시트로 이동하자.

권장되는 표현방식으로 스캐터차트(분산형)를 사용해도 되고, 열과 행에 직접 드래그앤드랍 해도 된다. 

상단의 행과열 바꾸기를 눌러준다. 

 

 

 

제품 중분류를 세부정보에 드래그앤드랍

 

이상치가 보이는데 이 이상치를 클릭해본다.

이 항목만 유지를 누를 경우 필터로 탁자가 자동으로 선택되고 그래프에 탁자 데이터 하나만 나타나게 된다.

 

추가로 고객명을 세부 정보에 끌어다 놓는다

 

마크를 원으로 바꾸고 색상의 테두리를 검은색으로 주어 가시성을 확보한다. 

 

이상치들을 확인한다. 김정아 고객의 경우 수익성이 낮은데, 김정아 고객을 클릭 후 전구모양을 누른다.

이 고객의 요약정보를 볼 경우, 할인율이 매우 높고 세번의 주문과 반품이 이루어진 것을 확인할 수 있다.

그리고 할인율이 48%, 80%, 47% 같이 매우 높은 것을 확인할 수 있다. 

할인율이 높을 경우 수익에 악영향을 미치는 것 같다는 인사이트를 가지고 다시 분석을 한다.

 

 

마크 중에 색상에 할인율을 주었을 때, 아래쪽으로 갈수록 색상이 진한 것을 확인할 수 있다.  

 

이제 매출 대신해서 할인율을 열에 드래그앤 드랍한다.

이 때, 우클릭으로 끌어다 놓으며 평균 할인율을 적용한다. 

 

할인율 우클릭 후 기본속성 숫자 형식에 들어가서 백분율로 나타내면 보다 파악하기 좋다. 

 

 

할인율에 대해 인사이트를 얻었고(할인율이 높을수록 수익이 안난다), 대시보드에 추가해서 공유를 한다.

이러한 결과물을 태블로 온라인을 이용해서 시각화 결과물을 배포하고 공유하는 것이 가능하다.

 

 

대시보드만 공유하거나, 데이터를 별도로 공유하는 등 편집을 해서 공유하는 것이 가능하다.

 

공유된 화면

댓글을 통해 바로 메시지를 보내거나 코멘트, 현재 화면의 스냅샷 등을 확인할 수 있다.

 

 

데이터가 변경되거나 했을 때 알림을 받을 수 있게 설정도 가능하다. 

 

다음은 추가적인 학습자료이다.

 

 

😁

참고 및 출처: 

https://public.tableau.com/

 

Tableau Public

 

public.tableau.com

https://ko.wikipedia.org/wiki/Join_(SQL)

 

Join (SQL) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 join(조인) 또는 결합 구문은 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다. 따라서 조인은 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어 낸다. JOIN은 2개의 테이블에서 각각의 공통값을 이용함으로써 필드를 조합하는 수단이 된다. ANSI 표준 SQL은 네가지 유형의 JOIN을 규정한다. INNER JOIN OUTER JOIN L

ko.wikipedia.org

https://coding-factory.tistory.com/87

 

[MSSQL] JOIN의 종류설명 및 사용법 & 예제

조인이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법입니다. 자신이 검색하고 싶은 컬럼이 다른 테이블에 있을경우 주로 사용하며 여러개의 테이블을 마치 하나의 테이블인 것처럼..

coding-factory.tistory.com

 

반응형