chap01
Tableau 데이터 연결 및 탐색 04
: Tableau에서 데이터를 연결하는 방법, 데이터 원본 창을 통해 분석에 사용할 데이터 원본을 탐색하는 방법
-
분석을 시작하려면, 데이터에 연결하고 데이터 원본을 분석에 적합한 형태로 설정해야 한다.
-
데이터는 파일에 연결할 수도 있고, 서버에 연결할 수도 있다. 유로버전은 local pc에 있는 스프레드시트나 텍스트파일 또는 기업 서버에 있는 빅데이터나 관계형 또는 큐브데이터베이스에서 제공되는 커넥터로 연결할 수 있다. 또한 구글 애널리틱스나 아마존 애드시프트 또는 세일즈포스와 같은 클라우드 데이터 원본에도 직접 연결할 수 있다.
-
엑셀파일을 열 때, 시트가 여러개일 경우, 사용하고자하는 시트를 직접 드래그하여 끌어다 놓아야한다.
-
1) 그리드 형태: 데이터 미리보기
-
2) 메타 데이터 그리드 형태
-
tableau public은 작업파일을 개인 pc에 저장 불가. tableau 계정으로 tableau public에 저장.
데이터 전처리 05
데이터 결합
- 데이터 통합 (union)
- 특정 키값을 가지고 두 테이블을 결합 (join)
union
: 한 테이블의 행을 다른 테이블에 추가하여 두 개 이상의 테이블을 결합할 수 있다.
- 테이블 지정 - 데이터를 메인창에 끌어오면 union 옵션이 나타남
- 통합해야하는 데이터가 여러 시트에 나뉘어져 있다면 다중선택 후 드래그
- union을 사용하여 결합하는 테이블의 구조가 같아야 데이터가 정확히 통합된다. (필드 수, 필드 이름, 데이터 유형 일치)
- 통합 결과 확인 : 현재 테이블에서 우클릭 - 유니온 편집 - 어떤 테이블이 union되었는지 확인 가능 (이 창에서 다른 테이블 추가, 삭제 가능)
join
로지컬 테이블에서 새로운 테이블을 추가할 경우, 관계가 형성된다. 하지만 여기서 보이는 관계형성은 실제로 관계가 형성된 것은 아니다.
로지컬 테이블 더블클릭 - 피지컬 테이블 화면 - 추가할 테이블 드래그하여 가져다 놓기 - 다이어그램 표시 (자동으로 inner join) - 다이어그램을 클릭하면 join 유형 변경 가능 - join 절 설정 (같은 필드명이 존재할 경우 자동으로 키값을 잡아준다)
로지컬 테이블 & 피지컬 테이블
: 각 시트 및 테이블 간의 관계만을 설정하는 것
두 테이블의 공통 필드를 기반으로 서로 관련된 방식(관계 형성)을 설명하지만 테이블을 물리적으로 병합하지는 않는다. 이 관계형성은 두 테이블간의 약속이다. 이 약속에 따라 테이블에 데이터를 가지고 온 뒤에 적절한 join쿼리를 작성하게 된다. 관계는 join과 비슷하지만 join은 데이터를 물리적으로 결합해서 하나의 테이블로 만드는 것이고, 관계는 물리적으로 결합하지 않는다.
실무에서 많이 사용하는 편집 기능 06
데이터 필드명 변경
- 필드명 더블클릭 후 변경
- F1과 같이 되어 있거나, 타 부서에서 이해하기 힘든 필드명으로 작성되어 있을 경우 직관적인 이름으로 변경하는 것이 좋다
필터
분석에 필요하지 않은 데이터 범위에 대하여 필터링하여 데이터를 축소하고자 사용한다. 데이터 원본에 필터를 적용하여 데이터를 줄이게 되면, 작업시 속도를 줄일 수 있어 볼륨이 큰 데이터 사용시 필요한 데이터를 자르는 전처리 작업이 필요하다.
- 우상단 필터 항목
- 날짜, 세일즈는 구간을 지정하여 필터할 수 있다.
인터페이스 07

차원 & 측정값 08
데이터 필드 역할 및 유형 정보
데이터 필드는 데이터 원본의 열에서 만들어집니다. 각 필드에는 정수, 문자열, 날짜 등과 같은 데이터 유형과 불연속형 차원이나 연속형 측정값(보다 일반적) 또는 연속형 차원이나 불연속형 측정값(덜 일반적) 같은 역할이 자동으로 할당됩니다.
- 차원
정성적 값(예: 이름, 날짜, 지리적 데이터 등)을 포함합니다. 차원을 사용하여 데이터의 세부 정보를 분류하고 나누고 표시할 수 있습니다. 차 원은 뷰의 세부 수준에 영향을 미칩니다.
- 측정값
측정할 수 있는 정량적 수치 값을 포함합니다. 측정값을 집계할 수 있습니다. 추정값을 뷰에 끌어 놓으면 Tableau가 (기본적으로) 해당 측정 값에 집계를 적용합니다.
: 집계된 측정값을 원하는 차원 레벨에 맞춰 잘라서 본다
특이사항
- Row ID : 이 경우, 숫자 형태임에도 차원으로 구분되어 있는데, 이유는 데이터의 형태가 순차적으로 단순히 번호로 찍혀 있어 Tableau에서 집계할 필요가 없는 필드라고 인식하기 때문이다.
- 이처럼, 데이터를 tableau에 연결하게 되면, 데이터의 형태에 따라 자동으로 필드의 속성을 차원인지 측정값인지 구분하게 된다.
- 특정 필드를 드래그하여 옮김으로서 차원을 측정값으로 혹은 그 반대로 변경할 수 있다.
데이터를 뷰 화면으로
sales 측정값 필드를
- 측정값 더블클릭 : 합계 형태로 들어가게 된다.
- 드래그하여 행까지 가져가면(클릭 놓지x) : +버튼과 함께 데이터 형태가 합계라는 것을 미리 확인할 수 있다.
- 드래그하여 뷰 영역에 놓기 : 차트형태가 아닌 집계된 측정값을 보여주게 된다. 그리고 필드가 행 선반에 들어가는 것이 아니라 마크 카드 영역에서 텍스트 옵션을 가지게 된다. 이때 이 마크 영역에 놓인 필드를 레이블로 가져다놓아도 동일한 결과화면을 보여주게 된다.
category 차원 필드를
- sales 측정값을 뷰에 놓고 category 필드를 더블클릭 : sales가 category 항목만큼 분할되어 표로 표시됨. category는 행 값에 들어감.
- 여기에 order 차원 필드를 더블클릭 : 연도별 집계값이 표시됨. 날짜 타입의 경우, 자동으로 계층을 잡아주어 표시되고, 연도를 우선적으로 표시함. 이렇게 계층이 잡혀있는 필드를 선반에 놓게되면 필드 앞부분에 +버튼이 생기게 된다. +를 클릭하면 하위 계층이 오른쪽에 추가되고, 표에도 계층이 세분화되어 표시된다.
파란색 대 녹색 필드
Tableau는 필드가 불연속형(파란색)인지, 아니면 연속형(녹색)인지에 따라 뷰에서 데이터를 다르게 표시합니다. 연속형과 불연속형은 수학적 용어입니다.
연속형은 "단절이 없고 끊어지지 않는 완전체 형성"을 의미하고, 불연속형은 "개별적으로 구분"된다는 의미입니다.
- 녹색 측정값(ex/ SUM(Profit) ) 및 차원(ex/ YEAR(Order Date) )은 연속형입니다. 연속형 필드 값은 무한대의 범위로 취급됩니다. 일반적으로 연속형 필드는 뷰에 축을 추가합니다.
- 파란색 측정값(ex/ SUM(Profit) ) 및 차원(ex/ Product Name )은 불연속형입니다. 불연속형 값은 유한한 범위로 취급됩니다. 일반적으로 불연속형 필드는 뷰에 머리글을 추가합니다.
Tableau의 가능한 필드 조합
이 표에서는 다양한 필드가 뷰에 표시되는 모양을 예를 들어 보여 줍니다. 이 필드를 "알약"이라고 부르는 사람들이 많지만 Tableau 도움말 문서에서는 이를 "필드"라고 부릅니다.
- 불연속형 차원 : Product Name (파랑)
- 연속형 차원(데이터 유형이 문자열이거나 부울인 차원은 연속형일 수 없음) : YEAR(Order Date) (초록)
- 불연속형 측정값 : SUM(Profit) (파랑)
- 연속형 측정값 : SUM(Profit) (초록)
- 연속형 = 초록 필드 & 축
- 불연속형 = 파랑 필드 & 머리글
order date
- 필드 더블클릭 후 + (command+'필터'란으로 드래그)
- +버튼을 눌러 하위항목(분기~월~일) 부르기
- 이때 라인 차트는 월별로 끊어진채로 보여진다. : 현재의 날짜 타입이 불연속형이기 때문
- 날짜타입을 연속형으로 만들어 끊기지 않는 라인 차트 만들기 : 년(order date) 우클릭 - 년월일 형태의 연속형 날짜타입으로 변경
- category 필드(불연속형)를 드래그하여 '마크' 칸의 '색상'에 놓기 : 그래프가 여러가지 색깔이 입혀짐
- 합계 필드(연속형)를 드래그하여 '마크' 칸의 '색상'에 놓기 : 그라데이션이 입혀짐.
chap02
기본 차트
테이블 차트
막대 차트
라인 차트
파이 차트
트리맵 차트
대시보드
분산형 차트
이중축 차트
콤비네이션 / 라인+영역
응용 차트 / 도넛
대시보드
다양한 기능
그룹 / 집합 / 결합된 집합
: 필드 우클릭-만들기-그룹/집합
- 그룹 : 항목 내 멤버들이 원하는 만큼 자유롭게 그룹화 / 두개 이상
- 집합 : 집합에 포함되는지 아닌지 / 두개
- 집합 : 중간 순위만 가져오기 (다른 방법: rank)
: 만들기-집합-상위(옵션조정)
: 11-20위 = 20위 - 10위 : TOP20과 TOP10 모두 선택-우클릭-결합된집합만들기
계층 / 드릴 다운
-
계층 : 화면에서 드릴다운하여 값을 세부적으로 찾는데 유용. 지역데이터를 기준으로 동일한 시군구명이 있을 때 에러가 발생할 수 있는데, 미리 상위레벨과 하위레벨 간의 계층을 만들어 주는 것이 좋다. (맵 차트에서 꼭 참고)
-
제품 대분류와 중분류를 함께 나란히 행 선반에 넣어 중분류 매출이 보이는 차트를 만들었다. 이렇게 중분류 레벨에서만 매출 합계를 확인한다면 이 차트를 대시보드에 추가해서 보면 되지만, 대분류 매출과 중분류 매출을 바꿔가며 확인해야하는 경우, 계층을 만들면 하나의 차트에서 확인이 가능하게 된다.
-
계층을 만드는 방법
1) 하위개념인 차원필드를 드래그 + 상위 필드 위에 올려놓기
2) 계층을 만들고자 하는 차원 필드들을 모두 선택 - 우클릭 - 계층-계층만들기
-
tableau에서 자동적으로 계층을 만드는 유형 : 날짜 필드
년, 분기, 월, 일, 시, 분, 초
맵 차트
우리나라 지역 정보가 있다면 tableau에서 제공하는 맵을 활용하여 간단히 맵 차트를 만들 수 있다. 시도와 시군구 수준까지의 데이터가 있다면 제공된 맵을 활용하면 만들 수 있고, 그외 읍면동 수준까지 나타내고 싶다면 별도의 shape파일을 다운받아 join 연결해서 표현이 가능합니다.
이 외에 위도, 경도 정보가 있다면 맵으로 표현이 가능해서, 오프라인 매장의 위치 정보를 표현할 수 있다.
- '국가' 필드 앞 abc 클릭 - 지리적 역할 - 국가/지역 : '국가' 필드 앞 지구본 모양으로 변경 + 측정값 필드에 위도, 경도 필드 생성됨
- 변경된 '국가' 필드 더블클릭 : 뷰 창에 맵이 그려지고, 국가 필드에 찍힌 위도 경도 값이 점으로 나타난다.
- '시도' 필드 앞 abc 클릭 - 지리적 역할 - 주/시/도
- '시군구' 필드 앞 abc 클릭 - 지리적 역할 - 시군구
- 계층을 만드는 이유: 만들지 않으면 일부 데이터가 누락되는 경우가 많다
- '시군구' 필드만 행 선반에 놓을 경우 : 우하단에 '~개의 알 수 없는 항목'이라는 시군구의 특수값에 대한 문구가 뜸.
= ~개의 시군구 이름에 대해 정확히 매치가 되지 않는 것. 동일한 시군구 지역명을 여러 시도에 가지고 있기 때문.
- 동일한 지역명을 확인하는 방법
1) 시군구와 시도 필드를 나란히 행 선반에 놓는다
2) 시도 우클릭-측정값-카운트(고유) + 이렇게 바뀐 '카운트(고유)(시도)'를 드래그 - 텍스트 위에 : 각 시군구 별 몇 개의 시도를 가지고 있는지 카운트
: 2개 이상 카운트 = 동일한 시군구명을 2개 이상의 시도에서 가지고 있다.
3) 레이블에 있는 카운트(고유)(시도)를 드래그 - 필터 위에 - 카운트(고유) 선택 - 범위 2부터 : 중복된 시군구만 뜸
3-1) 이 때 뜨는 모든 시군구 선택 - '이 항목만 유지' 선택 - 필터에 있는 카운트(고유)(시도) 삭제 (: 시군구만 유지) + 테이블 사이드바의 시도를 드래그 - 행 선반에 놓기(맨 처음 놓았던 시군구 옆) : 같은 이름의 시군구를 어느 시도에서 가지고 있는지 볼 수 있다.
- 시군구 & 시도 계층 만들기 + 시군구 더블클릭 : 우하단의 메시지가 뜨지 않고 모든 시군구가 지도에 표시됨.
도구 설명, 필터 추가
-
마크 창 - 도구설명 - 우상단 삽입 클릭 - 원하는 옵션 선택 - 이후 도구설명 화면에 뜨는 글자에서 크기조절 가능
: 맵에서 지역 위에 커서를 가져가면 위에서 설정한 옵션이 뜨게 된다.
-
도구설명은 맵차트가 아니라도 사용 가능.
-
필터 활용 : 보고자 하는 지역 강조
-
최상단 맵 - 배경맵 - 위성
-
대시보드에서 해당 시트 끌어오기 - 시트 선택 - 우상단 테두리 아래화살표 선택 - 범례 - 시도 : 오른쪽 시도 필터 생성
-
시도 필터 선택 - 아래화살표 - 단일값(드롭다운) (: 리스트 전체가 보이지 않고 눌러야 리스트 보이는 형태로 변경) + 아래화살표 - 부동 : 필터 원하는 위치에 이동 가능
-
필터에서 보고자 하는 지역 선택 : 줌인이 되면서 해당 지역만 강조하여 보여지게 된다.
-
맵차트는 시각적으로 효과적이지만, 정확한 위도경도 정보가 필요해 전처리 작업이 오래걸릴 수 있다는 단점도 있다.
응용 차트
워드클라우드
텍스트 데이터를 시각화하는 용도로 많이 쓰인다. 특정 키워드에 대한 연관 주제를 확인하고자할 때 사용하게 된다. (ex/ 4차산업혁명: 블록체인, 3D프린터, 인공지능) 실제 사용하는데 제약이 많이 사용 빈도는 낮지만, 시각적으로 관심을 집중시킬 수 있다는 장점이 있어 종종 사용된다.
- 매출, 중분류 마크 카드에 넣기
- 중분류 텍스트 레이블에 넣기
- 매출 크기에 넣기
- 맵선택을 텍스트로 변경
- 수익 드래그 색상에 넣기
달력형 히트맵
자주 사용되고 유용하다. 대시보드에서 동작 기능으로 다른 차트와 상호작용하게 만들면 활용도가 높다.
- 주문일자 더블클릭(열 선반)
- 달력처럼 만들기 = 주차와 요일로 구분하기
1) 열선반의 주문일자 우클릭 - 차원날짜 타입의 '자세히' - 주 번호 + 행렬 변환
2) 매출을 마크의 텍스트 위에 올려놓기
3) 테이블 사이드바의 주문일자 opt+좌클릭+드래그 열선반에 놓기 - 차원의 '요일' 선택 - 화면은 전체보기
4) 월별로 나누기 : 테이블 사이드바의 주문일자 필터로 드래그 - 개월 선택 - 우선 1월만 선택 : 2016-2019의 모든 년도의 값이 합계된 것이 보인다
5) 년도 나누기 : 테이블 사이드바의 주문일자 필터로 드래그 - 년 선택 - 2019년만 선택 + 왼쪽 분석 탭의 총계 뷰 화면으로 드래그 - 행 총합계에 놓기 (: 주차별 합계가 보이게 된다)
6) 시각화 : 마크 내 합계 cmd+색상으로드래그 + 차트형태 네모로 변경
7) 1-12월을 빠르게 확인하고 싶다 : 필터 내 월(주문일자) 우클릭 - 필터 표시 + 우측에 만들어진 필터의 오른쪽 아래세모 클릭 - 단일값(슬라이더)
이외 시각화를 돋보이게하는 차트
- 생키 차트
- 데이지 차트
- 단점: 만드는 시간 대비 효율성이 떨어지는 차트
대시보드
여러 시트를 하나의 뷰로 만들어 필요에 따라 시트간 상호작용이 가능하게 해주는 기능
- 대시보드 레이아웃 잡는 방법 & 동작 기능
- 대시보드 동작: 필터, 하이라이트, 시트 이동, url로 이동, 매개 변수 변경, 집합 값 변경
필터 & 하이라이트
- 대시보드에 차트 전부 배치
- 최상단 대시보드 메뉴 - 동작 - 동작추가 - 필터
: 원본시트(a) + 실행조건(선택) = a시트에서 원하는 값을 선택했을 때
: 대상시트(b,c,d) + 선택내용을 지울 경우의 결과(모든 값 표시) = a에서 선택한 항목에 대한 것에 대해서만 b,c,d시트 모든 값 표시
- 최상단 대시보드 메뉴 - 동작 - 동작추가 - 하이라이트
: 원본시트(a) + 실행조건(마우스오버) = a시트에서 어떤 항목 위에 마우스를 가져가기만 하면
: 대상시트(b) = a에서 가져다댄 항목에 대한 것 말고 나머지는 색깔 날림 처리(흐릿하게 처리)
시트 이동
: 필터를 이용하지 않고 다른 대시보드나 워크시트로 쉽게 이동할 수 있는 기능
연관성 있는 두 대시보드를 이어주는 효과적인 기능.
- 새 시트의 행에 "제목" 넣기
- 새 대시보드에 위 시트 넣기 + 시트 클릭-아래화살표-부동-위치조정-제목삭제
- 최상단 메뉴 대시보드-동작-시트로 이동-실행조건(메뉴)-대상시트(앞서만든 대시보드) = "제목" 클릭하면 창이 하나 뜨고 창 안에 내용 중 시트 이동 버튼이 뜬다. 버튼을 누르면 앞서만든 대시보드로 이동된다.
매개 변수 변경
: 한 차트의 특정값을 선택하면 해당 특정값에 해당하는 값으로 다른 차트가 바뀌게 된다.
동그라미 세개
매출, 수량, 수익 모두 선택-드래그-뷰화면에 놓기-파이차트 변경 + 열 선반의 측정값 선택-cmd-드래그-색상
매출 추이
왼쪽 데이터 사이드바 아래화살표-매개변수 만들기-데이터유형(문자열)/허용가능한값(현재값)/값(매출,수량,수익)=측정값아래에 매개변수생김
- 이 매개변수 우클릭-매개변수 표시 (: 단독사용 불가, 계산된 필드나 참조선과 함께 사용해야)
- 왼쪽 데이터 사이드바 아래화살표-계산된 필드 만들기-함수 작성(CASE [매개 변수 1] WHEN '매출' THEN SUM([매출]) WHEN '수량' THEN SUM([수량]) WHEN '수익' THEN SUM([수익]) END ; 이 매개변수에서 매출을 선택할 경우 매출의 합계를 표시하라) = 측정값 영역에 '계산1' 필드가 만들어짐
- 이 계산 필드 드래그-행 선반에 놓기 = 우측에 매개변수선택창 뜸
- opt+좌측 주문일자 드래그-열선반-연속형 월(주문일자) 선택
- 좌측 매개변수 색상에+행선반의 계산 드래그-텍스트레이블에-라인끝+뷰좌상단 제목 더블클릭-시트이름지워-삽입-매개변수1 = 원하는 매개변수 선택한 걸로 바뀜
대시보드
대시보드에 만든 두 차트 놓기 - 메뉴 대시보드-동작-동작추가-매개변수 동작 추가-원본시트(시트1, 선택)-대상매개변수(매개변수1)-원본필드(측정값 이름)
= 파이차트에서 선택한 측정값으로 아래 라인 차트가 변경된다
집합 값 변경
집합에 속해 있는 값을 변경해주는 동작. 집합을 설정하면 in/out으로 표현되고 이것을 대시보드에서 선택한 집합에 따라 in/out으로 변경해주어 대상 시트에 적용시켜주는 동작.
- 시도 차원 우클릭-만들기-그룹-수도권/그외 그룹 만들기 = '시도(그룹)' 필드 생성됨
- 시도(그룹) 필드 우클릭-만들기-집합-수도권 선택 = '시도(그룹) 집합' 생성됨
- 매출, 시도(그룹) 더블클릭
- 시도(그룹) 집합 드래그-색상에(IN/OUT 시도(그룹) 집합 생성) + 좌측 테이블 매출 드래그-텍스트 레이블에
- 시트 복제
- 시트 집합 in에 해당할 경우 지역정보가 나오도록 계산된 필드를 만들어야
: 좌 테이블 상단 아래세모-계산된필드만들기 - 함수 작성(IIF([시도(그룹) 집합], [시도], [시도(그룹)]) ;= a집합이 참이면 b를 가져오고 거짓이면 c를 가져온다 ;iif함수는 if함수와 동일하지만 식을 좀 더 간결하게 만들 수 있음) - 제목(수도권 그룹 & 시도) = 계산된 필드 생성됨
- 행 선반 시도(그룹) 우측에 '수도권 그룹 & 시도' 필드 놓기
- 대시보드 - 시트 배치
- 메뉴 대시보드-동작-동작추가-집합 동작 추가 - 원본시트(시트3, 선택) - 대상 집합(현재 데이터 - 시도(그룹) 집합) - 선택 내용을 지울 경우의 결과(집합 값 유지)
- 수도권이나 그외 중 하나를 선택하게 되면, 선택된 값이 in으로 그렇지 않은 값은 out으로 설정되어 나머지 시트에 선택된 값의 세부 지역들에 대한 정보가 나오게 되고 그렇지 않은 값은 하나로 뭉쳐서 보이게 된다.
URL 이동
동작이 걸려있는 시트 선택 시, 미리 정해져 있는 url로 이동이 되게끔 해주는 기능. 일반적으로 시트 선택시 웹페이지와 같은 외부 리소스로 연결이 되도록 작업하는 경우가 많다.
- url이동과 웹페이지 개체를 함께 사용할 경우
: 하나의 대시보드에서 외부 리소스도 함께 확인이 가능하기 때문에 시각적 정보를 탐색하는 데 흐름이 깨지지 않는다는 점에서 장점이 있다. 월간/주간 리포트 작성시 제품에 대한 이미지를 가져와야 할 때 이 기능을 사용한다.
대시보드 개체
대시보드 좌하단에 위치
- 가로/세로 컨테이너: 레이아웃 잡는 것을 도와준다
- 텍스트/이미지: 텍스트, 이미지 삽입
- 네비게이션(탐색): 대시보드, 시트를 이동시켜준다
- 다운로드: 대시보드를 버튼으로 클릭해서 쉽게 다운로드 되도록 도와준다
- 확장 프로그램: 프로그램을 확장
네비게이션(탐색)
- 대시보드의 제로베이스 이미지 선택 - 다른 대시보드로 이동: 제로베이스 웹페이지 개체가 보인다 = 대시보드 내에서 제로베이스 사이트로 이동하게 만든 것
- 추가 정보가 필요할 것 같은 영역에 탐색 버튼을 만들어주게 되면, 쉽고 빠르게 이동하여 탐색할 수 있다.
- 앞서 배운 동작 기능 중 '시트 이동' 기능을 활용해도 동일하게 만들 수 있지만, 이 기능은 반드시 시트를 만들어 대시보드에 넣어주어야 한다. 단순히 이동만 하고싶다면 탐색 개체를 활용하는 것이 좀 더 효율적이다.
레이아웃
- 종류: 바둑판식 / 부동
- 바둑판식 (대시보드 기본값)
: 겹치지 않고 전체 대시보드의 크기에 따라 크기가 조정된다
: 일반적으로 레이아웃 구성은 이것을 대부분 사용.
- 부동
: 다른 시트 위에 겹칠 수 있고, 다른 시트나 컨테이너의 영향을 받지 않기 때문에 지정한 사이즈가 그대로 유지된다.
: 범례, 필터에 많이 사용.
가로/세로 컨테이너
블록을 쌓듯이 가로/세로 컨테이너를 번갈아 쓰게되면 대시보드를 좀 더 깔끔하게 사용할 수 있다.
- 대시보드를 만들기 전에 기획단계: 어떤 차트를 어디에 배치시킬 것인지 구도를 잡고, 가로세로 컨테이너를 사용하라.
스토리
: 여러개의 대시보드를 구성하여 하나의 스토리를 만든다.
: 파워포인트로 프레젠테이션하는 것과 비슷한 개념.
스토리 구성시 주의점
- 청중이 관심 있는 주제인지
- 궁극적으로 내가 하고싶은 이야기가 무엇인지
- 처음부터 끝까지 흐름에 맞게 잘 기획이 되어야 한다
- 불필요하게 너무 많은 데이터, 매개변수나 계산식을 사용하지 않아야 한다
: 데이터나 복잡한 계산식을 불러올 경우, 데이터를 불러오는 데 시간이 오래 걸리다 보니 발표의 흐름을 끊기게 할 수 있다.
chap03: Business Analytics
- ~ chap02: 차트 디자인, 대시보드 디자인과 같이 시각적인 효과를 극대화하기 위한 방법
- chap03
: 비지니스를 분석할 때 자주 사용하는 Tableau 함수나 기능
: 내가 원하는 결과값을 만들어내서 화면에 표현하는 Tableau 고급기능과 계산식
퀵 테이블 계산
: 분석이나 리포트에서 자주 사용하는 계산식에 대해서 쉽고 빠르게 계산할 수 있도록 하는 기능
- 누계 / 차이 / 구성 비율 / 순위 / 비율 차이, 백분위수, 이동 평균 / YTD 총계 / 통합 성장률 / 전년 대비 성장률 / YTD 성장률
- 계산된 필드: 필드 바로 오른쪽에 세모 모양(델타 표시)이 생긴다.
- cmd+측정값 - 드래그 - 측정값 테이블에 끌어다 놓기
: 계산된 필드의 이름을 변경할 수 있다.
누계
: 각각의 값을 누적해서 볼 떄 사용
예제) 각 월별 매출과 누적 매출을 함께 보는 화면
차이
: 측정값 앞의 항목과 어느 정도로 차이가 나는지 구해주는 계산
- 계산 기준: 이전(기본), 다음, 첫번째, 지난 으로 설정 가능
- 퀵테이블 / 다음을 사용하여 계산 / 기준
구성 비율 / 순위
구성비율 : 파이차트, 도넛차트에 사용
- 테이블 계산 편집 : 퀵테이블 계산, 다음을 사용하여 계산 따로 설정하지 않고 여기서 편집하는 것이 한눈에 보여 더 좋다.
(*) 바로 앞에 있는 값과의 차이
비율 차이 / 전년 대비 성장률
비율 차이 : 측정값들 사이의 퍼센트 차이 또는 성장률
전년 대비 성장률 : 같은 월에서 이전 년도와 비교한 것
(*) 앞에 있는 값의 증감을 퍼센트로 나타냄
- 전년 대비 성장률의 경우, 비교 대상을 선택할 필요가 없어서 편하긴 하지만, 실무에서는 전년 대비 성장률보다 비율 차이를 더 많이 사용한다. 이유는 전년 대비 성장률의 경우 날짜 타입이 화면에 있어야 측정값 계산이 가능하지만, 비중 차이는 비교 대상만 선택해주면 어떤 값이든 차이를 나타낼 수 있기 때문이다. 전년 동월이 아닌 전월이거나 특정 기간과의 비교도 가능하기 때문에 전년 대비 성장률을 사용하는 것보다 더 유연하게 사용 가능하다.
- ex/ 2016 1월, 6월만 필터해서 보게되면(이 항목만 유지), 전년 대비 성장률은 전년도 값이 없어 결과가 나오지 않지만, 비율차이는 화면상 6월의 직전월이 1월이기 때문에 값을 내놓게 된다.
백분위수
- 고객명 & 매출 + 표 최상단 고객명 우클릭-필드-합계
: 매출 많은 순으로 내림차순
- 마크의 합계(매출) 우클릭-퀵테이블계산-백분위수
: 가장 많은 소비를 한 사람이 100 반대가 0%로 나옴
- 상위 고객 5%와 같이 만들려면 : 테이블 계산 편집-내림차순 선택
이동 평균
: 평균을 구하는 기간을 설정하고 그 기간의 수를 나누어주는 것.
ex/ 시험 성적에 대해 평균을 구해주는 것과 동일
-
주식 데이터에서 많이 사용 : 5, 20(단기), 60, 120(중장기)일의 기간으로 트렌드 파악, 평가
-
이동 평균이 계산된 방식
테이블(옆으로) 기준으로 이전 2에서 다음 0까지 다음 매출에 대한 평균 이동에서 0은 해당되는 기준이 2019년 4분기 매출을 의미하게 된다. 즉 2019년 4분기에 대한 값을 구하고 있기 때문에 2019년 4분기에 대한 4억2600이 0이 되고 그 다음 이전에서 1은 2019년 3분기 2는 2019년 2분기에 대한 매출값이 되게 된다.
-
이 이동평균 선은 성과에 대한 기준이 될 수 있다. 이동 평균 선 기준으로 위에 있는 것은 비교적 성과가 좋았고 반대는 그렇지 못한 것을 확인할 수 있다.
YTD 총계
YTD: year to days = 해당 년도 시작일부터 현재일까지
YTD 총계 = 특정 시점까지의 총계
- 누계와 거의 동일한 개념
- 누계: 시간의 흐름에 따라 연속적인 누계 합계
- YTD 총계: 연도를 기준으로 연속적인 누적 합계
- YTD 총계의 경우, 누계의 테이블 계산 기준으로 계산 방식만 다르게 설정되어 있기 때문에, YTD 총계 대신 누계에서 계산 방식을 '패널(아래로)'로 변경한다면 동일한 형태의 총계를 구할 수 있다.
연평균 성장률(CAGR, Compound Annual Growth Rate)
= 통합 성장률
: 여러해 동안의 성장률을 평균으로 환산한 것. 매년의 성장률을 산술 평균이 아닌 기하 평균으로 환산한다. (기하평균: 복리효과를 반영한 평균)
- 연평균 성장률(CAGR) = (최종 연도값 / 최초 연도값) ^ (1/연도간격) -1
- 기하평균으로 계산하는 이유
: 흔히 사용하는 산술 평균은 여러 해동안의 평균 성장률 혹은 평균 수익률을 계산할 때 왜곡을 가져오기 때문. 산업이나 기업의 장기적 성장률을 따져볼 때는 기하평균으로 연평균 성장률을 구해야 제대로 된 계산이다.
- 연평균 성장률
- 산술평균 = WINDOW_AVG(합계(매출)) = 전년 대비 성장률에 대한 평균값
: 화면에 나와있는 특정 필드값을 기준으로 평균 값을 반환하게 된다.
계산된 필드
계산된 필드의 구성 요소
- 필드: 데이터 원본에 존재하는 필드를 활용해 새로운 필드를 만든다.
- 연산자: 함수, 필드, 매개 변수 등을 사칙 계산으로 새로운 값을 만드는 것.데이터 원본에 있는 차원이나 측정값을 사용하지 않고 상수값을 직접 입력하여 새로운 값을 만들 수 있다. (함수, 필드, 매개 변수 등을 연결하고 계산을 판단하는 요소)
- 매개 변수: 상수 값을 동적인 값으로 변경해주는 변수 (ex/ 최근 한달, 최근 1년). 필요에 따라 범위를 바꿔서 볼 때 주로 사용.
- 함수: (새로운 계산식을 적용하기 위해 기존 데이터 원본의 필드에 유형 및 역할을 결정하는 데 영향을 준다.) 데이터 원본의 필드와 tableau 내장 함수를 이용하여 데이터 원본을 바꾸거나 원하는 값을 계산하여 가지고 올 때 사용한다.
연산자
- KPI 지표
비지니스에서 KPI를 설정해서 보는 것이 중요한데, 그 이유는 매출이 성장하고 있다고 무조건 좋은 것이 아니기 때문이다. 2018 2019의 경우, 매출은 올랐지만 나머지 지표값이 떨어졌기 때문에 KPI로 봤을땐 이런 측면에 대한 계산이 필요해 보인다.
- 주문 건수: 주문번호-만들기-계산된 필드 + COUNTD([주문번호])=주문건수
: 일반적으로 주문 건수는 데이터에 없는 경우가 많고 별도로 만들어 주어야 한다. 이때 주문번호를 단순 카운트할 경우 중복이 되기 때문에 고유 카운트(count distinct)를 해주어야 한다. 이유는 고객이 여러 제품을 한번에 구매했을 경우 하나의 주문 건에 다수의 제품이 있기 때문에 같은 주문번호로 제품 수만큼의 row가 db 테이블에 생성되기 때문이다.
- 주문건당 단가: 테이블 위 아래세모-계산된 필드 만들기 + SUM([매출])/[주문건수]
(:매출은 합계로 집계하고 주문건수는 그렇지 않은 이유는 주문건수는 count distinct로 이미 집계가 된 필드이기 때문에 재집계할 필요가 없다)
: 한번 주문할 때 발생되는 평균 금액을 확인하기 위해 주문건당 단가를 추가한다.
- 주문건당 수량: 테이블 위 아래세모-계산된 필드 만들기 + SUM([수량])/[주문건수]
: 하나의 주문 건에 평균적으로 발생하는 구매수량 확인.
- 수익률: 테이블 위 아래세모-계산된 필드 만들기 + SUM([수익])/SUM([매출])
: 금액을 보여주는 것보다 수익률을 보여주는 것이 더 직관적.
- 모두 측정값란으로 이동
- 합계 & 집계 차이
- 주문일자 열선반에 : 연간 KPI 지수
논리 함수
if, iif, case 함수
: 특정 조건이 참인지 거짓인지 여부를 결정할 수 있어 tableau에서 가장 많이 사용하는 함수
- 매출 2억 이상, 이하 구분 표시
- 계산된 필드 만들기
: IF SUM([매출]) >= 200000000 THEN '2억 이상 매출' ELSE '2억 미만 매출' END
: IIF(SUM()>=200000000, '2억 이상 매출', '2억 미만 매출')
(: 사용하고자 하는 조건이 한가지라면 if 보다는 iif를 사용해 문장 길이를 줄이자)
: SUM([매출]) >= 200000000
(: 만들고나면 필드 앞 아이콘이 T/F임. 위 두가지는 만족하고 하지 않을 때 조건문을 주었지만, 이 문장은 T/F로만 결과가 나온다.)
- 퍼포먼스에 신경을 쓴다면, T/F 를 이용하는 것이 효과적. 이유는 T/F가 if보다 데이터 처리 속도가 더 빠르기 때문.
- 막대그래프에서 상수라인 표시할 때: 처음 만들면 가장 작은 값으로 만들어 진다.
- 숫자 표시할 때: 2억을 전부 쓰지 않고 200m로 써도 된다
- 계산된 필드에서 작성할 때: // 는 주석 처리 기능
매개 변수
차트를 동적으로 만드는 방법
- 앞서 계산식을 만들때 2억을 고정값으로 넣었다. 기준값을 주기적으로 변경하여 사용해야하는 상황이라면, 매개변수를 활용하여 값을 동적으로 변경해주는 것이 효율적이다.
범위형
목록형
: 실무에서 대시보드 제작 시 많이 사용. 특히 외국계 회사를 다니면, 회계 명부나 화폐 단위가 다를 수 있어 필수적이다.
날짜형
: 대시보드를 만들 때, from to 매개변수를 추가하여 활용하는 경우가 많다. 월, 분기별로 진행하는 경우도 있지만 특정 이벤트 기간의 성과만 보고자할 때 사용된다.
복합 매개 변수
: 하나의 화면에서 다양한 각도로 분석이 필요할 때 사용.
하나의 차원이나 측정값이 아닌 여러개의 차원이나 측정값을 보려고 하는 것이기 때문에 차원이나 측정값을 각각 매개변수와 엮어서 하나의 필드로 만들 필요가 있다.
- 복합 매개 변수를 활용할 경우, 시트를 별도로 만들지 않아도 되기 때문에 작업량을 줄일 수 있고 한 화면에서 다양한 각도로 결과값을 볼 수 있어 효율적이다.
- 다만, 매개변수를 많이 사용할 경우 tableau 퍼포먼스에 영향을 주기 때문에 데이터가 많지 않을 경우만 사용하는 것이 좋다.
Tableau 내장 함수
- 숫자 함수
- 문자열 함수 (*)
- 날짜 함수 (*)
- 유형 변화
- 논리 함수 (**)
- 집계 함수 (**)
- 통과 함수 (RAQSQL)
- 사용자 함수
- 테이블 계산 함수 (*)
- 공간 함수
- 예측 모델링 함수
- 추가 함수
테이블 계산 : PRIMARY 함수
: 함수 내 다른 함수가 포함된 함수
: 대부분 퀵테이블 계산으로 대체 가능해서 실제 많이 사용되지는 않는다
Running
- RUNNING_SUM
: 첫번째 행에서 현재 행까지 주어진 식의 누계 합계를 반환하는 함수
: 퀵 테이블 계산에서 누계를 사용했을 때 사용하는 함수 (퀵 테이블이 더 간단)
- RUNNING_AVG
: 특정 기간을 포함한 이전 기간의 모든 매출에 대한 평균 값
( 2019년 4분기: 2016 1분기 ~ 2019 4분기 매출 )
이동 평균 : 특정 기간으로부터 내가 지정한 이전 기간까지의 매출에 대한 평균
( 2019년 4분기: 2019 2분기 ~ 2019 4분기 매출 )
(WINDOW_AVG가 사용됨)
- RUNNING_COUNT
- RUNNING_MAX
- RUNNING_MIN
Total
: 차원에 영향을 받지 않고 화면에 있는 측정값을 총합계로 나타내준다.
매출 비중을 만들고 싶을 때 자주 사용한다.
(퀵테이블 계산에서의 '비중')
- SUM (=합계)
: 차원을 나눌 경우 해당 레벨에 맞춰 합계를 다시 구해준다.
Look up
: 현재 행을 기준으로 offset 만큼 떨어진 대상의 행에서 주어진 식의 값을 반환하는 함수
- primary 함수이기 때문에 괄호 안에 반드시 집계된 값을 써넣어야 한다.
- LOOKUP(SUM([매출]), -1) = 현재 행에서 그전에 -1만큼 떨어진 행의 값을 가져오겠다 (: 음수는 이전, 양수는 이후 값)
- 전년 대비 매출액 차이
= ZN(SUM([매출])) - ZN(LOOKUP(SUM([매출]), -1))
: 퀵테이블 계산의 '차이'와 동일
- zn() : null 값이 있을 경우 0으로 반환
Window
: 현재 화면 내에서 해당 식을 반환하는 함수
running 과 비슷하지만 특정 범위를 지정하여 계산할 수 있다는 점에서 차이가 있다.
- WINDOW_SUM
- WINDOW_AVG
: 이동평균을 구할 때 사용하는 함수
WINDOW_AVG(SUM([매출]), -3, 0)
: 이동평균의 편집에서도 범위를 지정할 수 있고, 그렇게 window_avg와 동일하게 만들 수 있다.
- WINDOW_COUNT
- WINDOW_MAX
- WINDOW_MIN
문자열 함수
: 이를 잘 활용하면, 현재 가지고 있는 데이터를 분해시켜 다른 시각에서 인사이트를 도출할 수 있다.
ex/ 사용중인 superstore 데이터에는 제품의 대분류, 중분류 값만 가지고 있어 데이터 원본만 사용할 경우 특정 제품이나 브랜드별 성과에 관해서는 확인하기 어렵다. 하지만 문자열 함수를 사용하면 데이터를 세분화시켜 다양한 시각에서 인사이트를 도출할 수 있게 된다.
Contain / Replace / Split
Upper
- CONTAINS(문자열, 부분 문자열)
= 첫번째 보고자하는 문자를 넣고, ','뒤에 검색하고자 하는 문자를 넣으면 참/거짓을 반환하게 된다.
- CONTAINS(UPPER([제품명]), 'SMART PHONE')
- REPLACE(UPPER([제품명]), 'SMART PHONE', 'SMARTPHONE')
- LEFT(SPLIT([Replace], ' ', 2), 10)
DATE 함수
: 시계열 분석시 필수 요소.
외국계 회사의 경우, 회계 년도를 다르게 사용할 수 있기 때문에 유용하다.
Datepart
: 지정한 날짜에 부분을 정수로 반환시켜주는 함수
'주문일자'(불연속형)를 활용할 떄마다 사용되고 있다.
- DATEPART('year', [주문 일자])
- 요일
Datetrunc
: 지정한 날짜 부분을 기준으로 잘라낸 후 새 날짜를 반환하는 함수
- DATETRUNC('day', [주문 일자])
Datepart vs Datetrunc
- Datepart: 단순히 day 레벨에서 주문 일자를 잘랐기 때문에, 년, 분기 레벨은 무시한 채 1~31일의 일자만 반환해 준다.
: 특정 부분의 값만 반환
- Datetrunc: 2016.1.1, 2016.2.1, ... 으로 날짜가 잘려 들어가 있다.
: 날짜 형태를 유지한 채 반환
Datediff
: 날짜간의 차이를 구해주는 함수 (=date difference)
응용: MTD, QTD, YTD
MTD : Month To Date
QTD : Quarter To Date
YTD : Year To Date
: 연, 분기, 월의 시작일로부터 특정일까지 합계 매출을 볼 때 사용.
- 합계로 보는 이유: 현재 기준으로 목표치 대비나 작년 대비 성장률을 보기 위함.
LOD 표현식 (Level of Detail) (*)
: 세부 수준에서 데이터 깊이를 정하고 데이터를 집계하여 계산하는 방식
{Include [차원1], [차원2] : SUM([측정값])}
- INCLUDE: 화면에 포함되지 않은 특정 차원을 포함하여 결과를 계산
- EXCLUDE: 화면에 포함된 특정 차원을 제외하여 결과를 계산
- FIXED: 화면에 상관 없이 특정 차원을 고정하여 결과를 계산
Include / Exclude
- { INCLUDE [제품 중분류] : SUM([매출]) }
- { EXCLUDE [제품 중분류] : SUM([매출]) }
- exclude: 화면에 보이는 특정 차원을 빼고 재집계할 때 사용할 수 있다.
- 특정 차원 레벨에서 집계를 해주기 때문에 다양한 계산이 가능하지만 활용도가 높지는 않다. 이유는 fixed로 대부분 대체가 되기도 하고, 화면에 연계해서 결과값을 만들어내기 때문에 사용자가 화면에서 어떤 차원값을 넣느냐에 따라 바뀌는 반면, fixed는 화면에 있는 차원을 고려하지 않아도 되기 때문이다.
Fixed
- 구매자별 첫 구매일과 두번째 구매일 사이 걸린 시간
Include vs Fixed
- 시군구별 매출 평균
- { INCLUDE [시군구] : SUM([매출]) }
- { FIXED [시군구] : SUM([매출]) }
- INCLUDE 만 원하던 값이 나온다. : include는 화면에 표현된 '시도' 필드를 고려하여 겹치는 시군구 명을 시도를 고려해서 계산하는데, fixed는 화면과 상관없이 계산하기 때문에 겹치는 시군구 명에 대한 고려를 하지 못한다.
- 여기서 fixed를 이용해 include처럼 원하는 값을 내려면
: { FIXED [시도],[시군구] : SUM([매출]) }
태블로 작동 순서
= Order of Operation
: 계산과 필터의 작동 순서
https://community.tableau.com/s/idea/0874T000000H9zbQAC/detail

테이블 계산
- 6개월 기준의 이동평균을 계산하고 최근1년의 이동평균만 라인 차트로 표현
Fixed
- 시도별 매출을 표현한 지도를 통해 제품 대분류별 수익률을 필터링하는 대시보드 만들기
Context 필터
- 매개 변수를 활용하여 호남 지역의 매출 상위 10명의 고객 리스트 만들기
실무에서 Tableau를 다룰 때 예상치 않게 겪게 될 상황들