본문 바로가기
v3 | Tableau Deep Dive

[2]-4. 데이터 원본 필터

by VizLab 2019. 10. 5.

지난 포스트까지 세 차례에 걸쳐 태블로에서 제공하는 Data Preparation 기능들을 살펴보았습니다

 

▪  데이터해석기 - 병합된 셀 정리

▪  피벗 - 가로로 긴 구조의 데이터를 세로로 긴 구조로 바꾸기

▪  사용자 지정 분할 - 하나의 필드에 포함된 정보를 구분자를 활용하여 두 개의 필드로 나누기

 

오늘 소개할 기능은 필수적으로 활용하는 기능으로 보기는 어렵지만,

특히 대용량 데이터를 취급할 때 유용하게 쓸 수 있는 데이터 원본 필터(Data Source Filter)입니다

 

 

 

We Are Here


[1] Tableau Fundamentals

[2] Data Preparation

   ▪  Data Interpreter

   ▪  Pivot

   ▪  Split

     Data Source Filter

   ▪  Custom SQL

[3] Manipulating Data

[4] Building a Chart

[5] Analytics Pane

[6] Filter

[7] Table Calculation

[8] Parameter

[9] Level of Detail Expressions

[10] Map

[11] Dashboard Rendering

 

 

 

필요 없는 데이터는 불러오지 말자, 데이터 원본 필터 (Data Source Filter)


이번 주제 또한 Data Preparation에서 계속 활용하고 있는 '교통카드 데이터 - 지하철 시간대별 이용현황'을 활용합니다

여기에서 다운로드 받을 수 있습니다

 

사용자 지정 분할을 완료하고, 필드명을 적절히 바꾼 후, 필요 없는 필드를 숨김 처리한 데이터가 아래와 같습니다

 

 

위의 그림 우측 상단에 보면 '필터 0 | 추가' 라는 문구를 확인할 수 있습니다, 확대해서 보면 이렇게 생겼군요

 

 

데이터 원본을 불러오는 단계에서 설정해 줄 수 있는 필터입니다, 추가를 눌러봅니다

 

 

왼쪽 그림과 같은 대화창이 보일 것이고, 다시 아래의 추가 버튼을 누르면 오른쪽 그림같은 필터 추가 대화창이 뜰 것입니다

필터 추가 대화창에는 정리가 완료된 데이터셋의 필드명들이 나열되어 있습니다

분석의 포커스를 2호선으로만 한정했다고 가정합시다
그렇게 되면 다른 호선의 데이터들은 당장 필요하지는 않습니다
이럴 경우 2호선 데이터만 불러올 수 있는 기능이 데이터 원본 필터입니다

2호선만 필터링 해보겠습니다
위의 오른쪽 그림에서 호선명을 선택한 후 확인 버튼을 누르면, 아래 그림과 같이 호선을 필터링할 수 있는 대화창이 뜨게 됩니다
2호선만 선택한 후 아래쪽 확인 버튼 클릭!

 

 

그러면 태블로는 아래의 그림과 같이 사용자의 설정을 확인시켜줍니다

 

 

마지막으로 확인 버튼을 누르면 데이터가 불러오는 단계에서 필터링 되어버립니다 :D

결과를 확인해볼까요?

 

먼저 데이터 원본 필터를 적용하지 않은 아래의 그림은 데이터셋에 총 28,368개의 행이 있습니다

 

 

2호선만 발라낸 후 행의 개수를 살펴보니 2,400개입니다, 제대로 적용된 것으로 보입니다

 

 

데이터 원본 필터를 세팅하는 방법, 전혀 어렵지 않죠? :D

 

 

 

데이터 원본 필터의 의미


데이터 원본 필터를 적용하는 것 자체는 크게 어렵지 않습니다

그런데 이런 작업들을 굳이 데이터를 불러오는 단계에서 해야하는지에 대해서는 의문이 남습니다

 

정말 필요한 작업일까요?

실제 시트로 넘어가서도 2호선만 필터링(차원 필터라고 합니다) 할 수 있는데 말입니다

 

결국은 쿼리의 성능 문제입니다

 

데이터 원본 필터를 사용하지 않고 (총 28,368개의 행을 불러들여서)

왼쪽 그림과 같이 호선과 승하차를 필터에 올린 상황을 가정해봅시다

 

여기에 올라간 호선명과 승하차 필터는 서로 독립적으로 작동합니다

 

이게 무슨 말인고 하니,

태블로는 우선 28,368개 행의 호선명 필드를 스캔하면서

각각의 행이 2호선인지 아닌지를 판단할 것입니다

 

다음으로 다시 28,368개의 행의 승하차 필드를 스캔하면서

승차인지 아닌지를 판별합니다

 

호선명 필터가 승하차 필터에 영향을 미치거나,

반대로 승하차 필터가 호선명 필터에 영향을 주거나,

그런 것은 없다는 의미입니다

 

 

 

데이터 소스 필터로 2호선을 걸고 들어온 경우라면 어떨까요?

데이터셋에는 2호선 데이터만 남았으니까 호선명 필터는 필요없을 것이고,

승하차 필터의 경우에는 총 2,400개 행의 승하차 필드를 스캔한 후 '승차'만 가지고 오겠지요

 

어떤 차이인지 이해가 되나요? 성능면에서 차이가 날 수밖에 없습니다

 

지금이야 천 개, 만 개의 행을 가지고 이야기하고 있지만, 백만 개 단위로 넘어가면 성능 이슈는 100% 생깁니다 :D

 

정리하면데이터가 많다면 - 많다는 기준은 충분히 자의적일 있습니다만 어쨌든 -

데이터 원본 필터를 사용해서 필요한 데이터만 불러오는 것이 좋다!

 

'v3 | Tableau Deep Dive' 카테고리의 다른 글

[2]-6. 사용자 지정 SQL  (3) 2019.10.06
[2]-5. Data Prep Hands-On  (1) 2019.10.05
[2]-3. 사용자 지정 분할  (1) 2019.10.04
[2]-2. 피벗  (1) 2019.10.03
[2]-1. 데이터 해석기  (1) 2019.10.03