📌 라이브 vs 추출
🔗 live connection
처음 xlsx나 csv파일을 태블로에 연결했을 경우, 기본 연결 방식은 live connection이다.
이 때 원본 데이터 소스를 변경하면, 태블로에도 변경사항이 반영된다.
🔗 추출
원본 데이터가 너무 많은 경우, 속도 저하 문제가 발생할 수 있어 추출 방식을 이용한다.
추출 방식은 원본 데이터의 일부를 분리해서 가져오며, 어떤 부분을 가져올지는 선택할 수 있다.
추출된 데이터의 경우, 원본 데이터의 변화가 발생하면 새로고침(Refresh) 함으로써
원본 데이터에 query를 보내 갱신된 데이터를 받아올 수 있다.
추출을 사용하면 데이터에 필터를 사용함으로써 필요한 데이터만을 가지고 작업이 가능하다.
추출의 장점
- Supports large data sets : 아주 많은 양의 데이터도 추출해서 사용할 수 있다.
- Help improve perfomance : 데이터 원본을 사용하는 것 보다 성능이 향상될 수 있다.
- (중요) Support additional functionality : 추출을 사용하면, 라이브 데이터에서는 지원하지 않는 기능인 고유 갯수 계산과 같은 추가 기능을 이용할 수 있다.
- Provide offline access to your data : 데이터가 local로 저장되기 때문에, 오프라인으로도 접근이 가능하다.
📌 추출 & 라이브 연결 생성하기
구버전에서는 추출을 생성하면 tde파일로 저장된다.
최신 버전에서는 hyper파일이 추출 파일의 기본 형식이다.
hyper 파일은 tde 파일보다 더욱 효율적이고 빠르다.
워크시트에서 데이터 원본 우클릭 👉🏻 Extract Data를 통해 데이터를 추출할 수 있다.
서버에서 작업할 때는 라이브 연결이 더 좋다.
태블로에 데이터를 연결하면 기본적으로 라이브 연결을 생성한다.
📌 tds, tdsx
📄 tds
tds(Data Source)에 포함되는 사항들
- 데이터 소스 타입
- 로컬 파일과 테이블들의 위치
- 기본 설정들
tds파일은 실제 데이터에 대한 정보가 아니라, 단순히 데이터 소스와 연결하기 위해 필요한 정보만을 포함하고 있다.
📄 tdsx
tdsx(Packaged Data Source) : 데이터 소스에 대한 모든 정보를 담고 있다.
🤔 tds, tdsx 파일의 특징
tds, tdsx파일은 데이터 소스를 저장하지만, 생성했던 시각화 자료들은 저장하지 않으며,
Data 👉🏻 데이터 원본 👉🏻 Add to Saved Data Sources를 통해 저장이 가능하다.
📌 twb, twbx
📄 twb
twb(Workbooks) : 한개 또는 그 이상의 워크시트나 0개 또는 그 이상의 대시보드, 스토리를 지니고 있다.
twb 파일은 시각화 요소를 저장할 수 있지만, 데이터 복사본은 가지고 있지 않다.
📄 twbx
twbx(Packaged Workbooks) : 시각화 자료들 뿐만 아니라, 데이터 복사본까지 모두 다 저장되어 있는 파일이다.
원본 데이터에 접근 권한이 없는 다른 사람들에게 작업물을 공유하기 위한 가장 좋은 파일이다.
🤔 twb, twbx 파일의 특징
파일 👉🏻 다른 이름으로 저장을 통해 저장이 가능하다.
📌 Creating Joins
Join : 데이터를 가지는 여러 테이블들을 로직에 기반하여 묶는 방법론이다.
태블로의 4가지 조인 방식
- inner join : 조인 결과로 두 테이블에 공통적으로 포함된 값을 가지는 테이블을 반환한다.
- left join : 왼쪽 테이블의 모든 값과, 그에 일치하는 오른쪽 테이블의 값을 가지는 테이블을 반환한다.
- right join : 오른쪽 테이블의 모든 값과, 그에 일치하는 왼쪽 테이블의 값을 가지는 테이블을 반환한다.
- full outer join : 두 테이블의 데이터를 전부 가지는 테이블을 반환한다.
[시험에서 중요한 포인트]
조인 종류별로 결과가 어떻게 나오는지에 대한 이해가 필요하다.
📌 Relationships
👨👩👧👦 관계
관계는 태블로의 최신 버전에서 사용되는 개념으로, 여러 테이블의 데이터를 묶는 새롭고 동적인 방법이다.
이전 버전에서는 테이블을 묶을 때 조인 등을 이용했지만, 관계를 통해 데이터를 묶는 방법을 바꾸었다.
두 테이블의 관계를 형성할 때, 각 테이블들은 같은 타입의 데이터를 가지고 있어야 한다.
태블로는 우리가 뷰 안으로 어떤 필드를 가져왔는지에 기반해 가장 적합한 관계 연결 방법을 결정해준다.
🤔 관계 🆚 조인
관계는 단순히 두 테이블들이 서로에게 어떻게 연결되어 있는지를 정의하며, 조인처럼 두 테이블을 병합하지 않는다.
따라서 관계에 참여한 테이블들은 여전히 분리되어 있다.
(어떻게 연결되었는지만 말해주고 직접 병합하지는 않는다!)
조인은 새로운 테이블을 결과로 가져오므로,
원본 데이터 각각에 접근하거나 조인을 깨서 원본 테이블을 가져올 방법이 없다.
따라서 관계가 조인보다 더욱 강력한 방법이며, 조인은 반드시 필요한 경우에만 사용해야 한다.
단, 데이터 소스 필터를 사용하는 이점은 조인보다는 관계가 덜하다.
📌 Tableau Data Model
📦 데이터 모델
Tableau에서 쿼리되는 모든 데이터 원본에는 기본 데이터 모델이 있다.
쉽게는 테이블들이 어떻게 연결되어 있는지, 어떻게 그들을 적절히 쿼리할지 태블로에게 알려주는 다이어그램이다.
🤔 Logical layer 🆚 Physical layer
데이터 모델의 두가지 계층
- Logical layer : 데이터를 관계를 통해 연결한다.
- Physical layer : 데이터를 조인과 union으로 연결한다.
두 계층의 차이점
Logical layer | Physical layer |
Data source page의 관계 캔버스 | Data source page의 조인 / 유니온 캔버스 |
이 계층에 가져온 테이블은 Logical table이다. | 이 계층에 가져온 테이블은 Physical table이다. |
Logical table들은 다른 Logical table들과 관계될 수 있다. |
Physical table들은 다른 Physical table들과 조인/유니온 될 수 있다. |
Logical table은 Physical table들의 컨테이너 역할을 한다. |
Logical table을 더블클릭하여 Physical tables들을 볼 수 있다. |
세부 수준은 Logical table의 행 단위이다. | 세부 수준은 병합된 Physical table들의 행 단위이다. |
Logical table들은 데이터 소스에서 병합되지 않고 분리된 상태로 유지된다. |
Physical table들은 Logical table을 정의하는 하나의 병합된 테이블로 존재한다. |
Logical layer의 테이블은 내부의 여러 테이블로 이루어져 있을 수 있으며,
이를 더블클릭하면 어떤 테이블들로 이루어져 있는지 Physical layer에서 확인할 수 있다.
즉, Logical layer 내부에는 테이블이 어떤 테이블들로 구성되어 있는지를 볼 수 있는 Physical layer가 존재한다.
📌 Creating Unions
Join은 칼럼의 수가 증가하고, Union은 행의 수가 증가한다.
Union은 태블로에서 New Union을 뷰로 드래그 & 드롭하고, Union할 테이블들을 집어 넣어서 생성한다.
이 때 테이블들의 칼럼명이 모두 같으면, 태블로는 단순히 행을 쭉 붙여주는 작업만 수행한다.
📌 Creating Blends
Data Blending은 여러 데이터 소스들을 연결하는 방법론이다.
조인은 하나의 데이터 소스의 여러 테이블들을 대상으로 진행했다면,
블렌딩은 여러 데이터 소스의 테이블을 대상으로 진행한다.
블렌딩에 참여하는 데이터 소스는 Primary data source, Secondary data source로 구분한다.
블렌딩을 진행하면 그 결과는 단순히 시트별로 시각화된 결과가 혼합된 것이므로,
실제로 데이터 소스가 혼합되지는 않는다.
즉, 블렌딩 결과만 가져와서 어디에도 저장하지 않고 시각화 화면으로 직접 보는 것이기 때문에,
블렌딩된 데이터를 따로 게시할 수 없다.
당연히 데이터 소스가 하나면 블렌딩을 진행할 수 없고,
Primary data source는 파란색으로, Secondary data source는 주황색으로 나타난다.
태블로에선, 두 데이터 소스 중 먼저 뷰로 가져온 데이터 소스가 Primary data source가 되고,
그 다음 가져온 데이터 소스가 Secondary data source가 된다.
데이터 블렌딩은 Left join 방식을 이용한다.
두 데이터 소스를 어떤 필드를 기준으로 합칠지를 정해야 한다.
태블로는 기본적으로 비슷하거나 같은 이름의 필드를 찾아준다.
이 합치는 기준이 되는 필드를 Linking field라고 부른다.
조인과 블렌딩의 가장 중요한 차이는 바로 집계가 동작하는 시점이다.
조인은 데이터를 합치고 집계를 수행하는 반면, 블렌딩은 집계를 먼저 수행하고 데이터를 합친다.
[시험에서 다루는 내용]
두 데이터 소스를 블렌딩하고, 그들의 필드를 사용하라고 한다.
[시험에서 중요한 내용]
- 블렌딩에는 여러개의 데이터 소스가 필요하다.
- Primary data source는 파란색, Secondary data sources는 주황색으로 표시된다.
- 블렌딩은 레프트 조인과 비슷하다.
- 혼합된 데이터가 있는 뷰에 표시되는 별표(*)는 다중 값임을 나타낸다.
📌 Renaming Fields
태블로에서 데이터 필드의 이름을 바꾸었다고 해도, 당연히 원본 데이터 소스의 필드는 이름이 바뀌지 않는다.
필드의 이름을 바꾸는 방법
- 필드를 더블클릭한다.
- 데이터 원본을 살펴보는 창에서 메타데이터를 확인하는 버튼 누르기 👉🏻 Field Name(태블로에서의 필드 이름)과 Remote Field Name(원본 데이터 소스에서의 필드 이름) 확인하기 👉🏻 Field Name의 드롭다운 메뉴에서 Rename 버튼을 통해 이름을 바꿀 수 있다.
- 워크시트에서 표기된 필드의 이름을 우클릭하면 나오는 Rename 버튼을 통해 이름을 바꿀 수 있다.
데이터 원본을 열어보는 것 말고 원래 필드의 이름을 알고 싶을 경우,
데이터 원본을 살펴보는 창에서 원하는 필드 이름을 우클릭하고,
Describe 버튼을 눌러 Remote column 설명을 통해 확인이 가능하다.
또는, 위에서 다룬 Remote Field Name에서 확인 가능하다.
📌 Creating Aliases
Alias란, 차원값 멤버들을 대상으로 생성 가능한 별칭이다.
뷰에 해당 차원값을 가져오면, 해당 차원값에 속하는 멤버들이 기존 이름과 다르게 별칭으로 표기된다.
Alias 생성 방법
- 워크시트에서 차원값 필드의 이름을 우클릭하고, Alias 버튼을 누른다.
- 해당 필드가 가지는 멤버들의 이름과 그들의 별칭이 나온다.
- 이때 Value(Alias) 즉, 별칭 칸을 더블클릭 하면 그들의 별칭을 편집할 수 있다.
- 이후 해당 필드를 뷰로 가져오면, 해당 필드에 속하는 멤버들의 이름이 원래 이름 대신 별칭으로 표기된다.
이 작업은 데이터 원본을 살펴보는 창에서도 동일하게 진행할 수 있다.
물론 별칭을 만드는 작업도 원본 데이터에는 어떠한 영향도 미치지 않는다.