본문 바로가기
VISUALIZATION

[Tableau] 계산된 필드, 필터, 매개변수 정리

by 진자이 2023. 7. 23.

안녕하세요 진자이입니다 :) 이번 포스팅에서는 2023-하계 BOAZ 시각화 세션 때 다룬 계산된 필드, 필터, 매개변수에 대한 내용을 정리하려고 합니다. 좋은 강의 & 자료 제공해주신 20기 시각화 김기수님, 김세연님께 감사드립니다! (실습 파일 및 데이터는 제공하지 않습니다)


 

필터

  • 추출 필터 Extract
  • 데이터 원본 필터 Data Source
  • 컨텍스트 필터 Context
  • 차원 필터 Dimension
  • 측정값 필터 Measure
  • 테이블 계산 필터 Table Calc

→ 위에서부터 작동 순서대로. 어떤 필터를 먼저 쓰는지에 따라 View에서 나타나는 결과가 달라질 수 있음

 

 

추출 필터 

데이터 원본 소스에서 데이터의 일부분만 추출하고 싶을 때 사용하는 필터로, 예를 들면 ‘지역 중 ‘서울’에 해당하는 데이터만 추출하고 싶다’ → 추출 > 편집 > 필드 선택 > 지역 > ‘서울’ > 하단 시트 선택 > 추출된 데이터 저장

추출된 저장 파일은 같은 폴더에 .hyper 파일로 저장이됨을 확인할 수 있다.

 

 

데이터 원본 필터 → python에서도 사용하므로 자주 사용하지 않음

추출 필터와 다르게 따로 데이터를 저장하지 않으며, 데이터 원본에서 원하는 부분만 보고자 할 때 사용하는 필터다. 예를 들어 ‘성별 중 ‘여자’에 해당하는 데이터만 보고 싶다.’

→ 필터 > 추가 > 성별 > ‘여자’ 선택 > 변경된 데이터 확인

 

 

차원 필터

데이터 유형 중 차원을 필터링하는 필터로, 예를 들어 ‘지역 중 ‘강원’과 ‘경기’에 해당하는 스트레스 인지율만 보이고 싶다’

→ 시트에서 > 필터 칸에 드래그

 

 

측정값 필터

데이터 유형 중 측정값을 필터링하는 필터로, 예를 들어 ‘스트레스인지율이 평균이 37이상인 지역만 보이고 싶다’

→ 시트에서 > 필터 칸에 드래그

 

컨텍스트 필터 → 중요!

작동 순서가 가장 앞 순서인 필터로, 데이터 원본 전체를 대상으로 가장 먼저 필터링을 한다.

  • 필터가 너무 많거나 데이터 원본이 큰 경우 → 상위 N필터! (예를 들면, 서울시에서 매출 합계 기준으로 상위 10명의 고객이 누구인가?
    • 만약, 차원 필터로 고객 이름 + 도시 모두 필터를 적용하게 되면, 두 개 필터에서 모두 공통적인 고객명만 필터링이 됨. → 교집합!
  • 컨텍스트 필터는 다음과 같이 사용한다!

 


 

 

계산된 필드

  • 데이터 소스에서 새로운 칼럼을 생성
  • 새롭게 추가된 칼럼을 저장
  • 새롭게 추가된 칼럼을 분석에 사용
  • 계산 방식은 다음과 같다 : 기본 계산, 테이블 계산, LOD 계산

새로운 파생 변수를 만들 때 사용한다! → 예를 들어, 슈퍼스토어에는 수익을 계산하는 필드가 없음. 따라서 매출 데이터를 가지고 수익 필드를 새로 생성해야 한다.

 

기본 계산

집계 함수

  • 차원 집계 : MIN, MAX, COUNT(NULL 제외 항목 수), COUNTD(고유 항목 수), ATTR(모든 행이 같은 단일 값만 포함 시 식의 값 반환, 아니면 별표)
  • 측정값 집계 : SUM, AVG, VAR 등

 

 

IF문 사용한 계산된 필드 예시

#비교군이 3개 이상인 경우
IF 조건식1 THEN A
ELSEIF 조건식2 THEN B
ELSEIF 조건식3 THEN C
ELSE F
END

# 비교군이 두 가지인 경우
IF 조건식 THEN A
ELSE B
END

 


테이블 계산

  • 데이터 원본 소스와 무관
  • View에서 보이는 내용을 바탕으로 계산
  • 전문가들도 이해하기 어려운 영역!
  • 테이블 계산에 사용되는 함수는 다음과 같다 : Partition, Rank, Running, Window

 

Partition 함수

  • INDEX() : 현재 행의 인덱스 반환
  • FIRST() : 현재 행으로부터 첫번째 행까지 남은 행 개수 반환
  • LAST() : 현재 행으로부터 마지막 행까지 남은 행 개수 반환
  • LOOKUP(식, 위치) : 현재 행으로부터 타겟위치 만큼 떨어져 있는 대상 행에서 식의 값을 반환
  • PREVIEOUS_VALUE() : 이전 행의 값 반환, 현재 행이 첫번째 행인 경우 0을 반환

 

RANK 함수(asc : 오름차순 / desc : 내림차순)

RANK 함수의 특징은 함수 안에 반드시 '집계된 함수'가 들어가야 한다.

  • RANK : 집계된 필드의 순위를 반환
  • RANK_DENSE : 집계된 필드의 순위를 반환(공동 1위가 3명이어도 그 다음 4순위는 2위)
  • RANK_UNIQUE : 집계된 필드의 순위를 반환(공동 1위가 3명이어도 1,2,3위로 정해짐)

 

RUNNING 함수

  • RUNNING_SUM() : 첫번째 행부터 현재 행까지 누적 합계
  • RUNNING_AVG() : 첫번째 행부터 현재 행까지 누적평균
  • RUNNING_MAX() : 첫번째 행부터 현재 행까지의 값들 중 최대값
  • RUNNING_MIN() : 첫번째 행부터 현재 행까지의 값들 중 최소값

 

WINDOW 함수 

  • WINDOW_SUM(집계된 계산, 시작위치, 끝위치) : 현재 위치 기준, 지정한 위치 범위 내 합계
  • WINDOW_AVG(집계된 계산, 시작위치, 끝위치) : 현재 위치 기준, 지정한 위치 범위 내 평균
  • WINDOW_MAX(집계된 계산, 시작위치, 끝위치) : 현재 위치 기준, 지정한 위치 범위 내 최대값
  • WINDOW_MIN(집계된 계산, 시작위치, 끝위치) : 현재 위치 기준, 지정한 위치 범위 내 최소값

 

퀵테이블 계산?

  • 비즈니스 현상, 일상에서 자주 쓰이는 테이블 계산을 뽑아 놓은 것으로 누적 합계를 자주 사용한다
  • 기본 실습 셋팅
    • 연도를 차원 속성으로 변경
    • 열에 ‘연도’, ‘성별’, 행에 ‘지역’
    • 마크 > 텍스트에 ‘우울감 경험률’
    • 필터로 5개 지역 선택

마크 > 텍스트 > ‘우울감경험률’ 우클릭 > 퀵테이블 계산 > 누계 > 테이블에서 ‘우울감 경험률’을 차트로 끌어올리기 > 마크 > 텍스트 > ‘우울감 경험률’ 우클릭 > 테이블 계산 편집 > 계산 유형 선택 > 특정 차원 체크박스 선택


 

LOD 계산 → Level of Detail

 

  • 데이터 원본 수준 및 View에서 보이는 수준에서 자유롭게 값 계산이 가능하다.
  • 재구매 여부, 신규 구매 고객 분석 등에 사용한다.

INCLUDE

View에 없는 더 깊은 수준의 필드를 활용한다. (특정 차원을 추가하여 계산)

 

EXCLUDE

View에 있는 특정 차원을 제외할 때 활용한다

 

FIXED

View에 상관없이 특정 차원을 고정할 때 활용한다.

+추가 내용

계산된 필드 함수 정리 자료 : 태블로 기초 함수 : 네이버 블로그 (naver.com)

태블로 LOD 계산식 정리 자료 : bigData = "study" : 네이버 블로그 (naver.com)

VizLab - 태블로 마스터 클래스 : https://www.youtube.com/@vizlab_kr/playlists?view=50&sort=dd&shelf_id=6

 

 

매개변수

매개변수는 동적으로 작동할 수 있다는 점에서 계산된 필드와 차이점이 있다. 목록형 매개변수와 범위형 매개변수로 나뉜다.

  • 전체형 : 매개 변수 컨트롤이 간단한 텍스트 필드
  • 목록형 : 매개 변수 컨트롤이 선택할 수 있는 값의 목록을 제공
  • 범위형 : 매개 변수 컨트롤을 사용하여 지정한 범위 내의 값을 선택

 

매개변수의 작동방식은 다음과 같다.

  • 매개변수 역할 : 테이블 > 매개변수 만들기
  • 매개변수 연동을 위한 역할 : 테이블 > 계산된 필드 만들기
  • 매개변수 작동을 위한 역할1 : 매개변수 > '매개 변수 표시'
  • 매개변수 작동을 위한 역할2 : 필터칸 > 계산된 필드 올리기