본문 바로가기

DATA/Tableau

[Tableau] 서비스 개념 정리


1. 테블로(Tableau) 기본 개념

  1. 데이터 시각화 툴
    • 테블로는 데이터를 쉽고 직관적으로 시각화하고, 대시보드를 구성하여 인사이트를 도출할 수 있는 BI(Business Intelligence) 도구입니다.
    • 직관적인 드래그 앤 드롭 방식, 풍부한 시각화 타입을 제공하여 비즈니스 사용자도 쉽게 접근 가능합니다.
  2. 워크플로우 이해
    1. 데이터 연결(Data Connection)
    2. 데이터 준비(Data Preparation)
    3. 시트(Sheet) 작성
    4. 대시보드(Dashboard) 제작
    5. 스토리(Story) 구성
  3. 주요 용어
    • 워크북(Workbook): 테블로에서 작업한 전체 파일
    • 시트(Sheet): 차트가 배치되는 단위
    • 대시보드(Dashboard): 여러 시트(차트)를 한 화면에 모아 인사이트 제공
    • 스토리(Story): 대시보드/시트를 연결하여 ‘프레젠테이션’ 형태로 보여주는 기능

2. 데이터 연결 및 준비 (Data Connection & Preparation)

  1. 데이터 연결
    • Excel, CSV, 관계형 DB(Oracle, MySQL 등), 빅데이터(Hadoop, Spark) 등 다양한 소스 연결 가능
    • 라이브(Live) 연결 vs 추출(Extract)
      • 라이브: 실시간 DB 반영 / DB 부하가 큼
      • 추출: .hyper 등 추출 파일로 저장 / 빠른 대시보드 속도
  2. 데이터 준비
    • 테블로 내장 편집 기능 혹은 Tableau Prep으로 전처리
    • 필요 없는 행/열 제거, 데이터 타입 변경, 계산 필드 생성 등으로 분석에 최적화
    • 조인(Join) vs 블렌드(Blend)
      • 조인: 같은 DB(데이터 소스) 안에서 여러 테이블을 가로(열) 방향으로 결합(SQL Join과 유사)
      • 블렌드: 서로 다른 데이터 소스 테이블을 시각화 시점에 결합
  3. 집합(Sets) & 합수(Union)
    • 정의: 특정 멤버(차원 값)들을 ‘IN/OUT’으로 구분하는 기능. 조건(Top/Bottom N, 특정 값 등)에 따라 자동 or 수동으로 멤버가 결정.
    • 종류: 고정 집합(Fixed Set), 동적 집합(Dynamic Set)
    • 활용:
      • 필터나 계산 필드에서 ‘집합 IN’을 기준으로 분석, 혹은 세트 액션(Set Action)으로 대화형 구성
      • 기존 ‘그룹(Group)’과 달리 ‘IN/OUT’ 논리로 자유롭게 활용 가능
    3.2 합수(Union)
    • 정의: 여러 테이블(혹은 파일)을 ‘행’ 기준으로 세로로 이어 붙이는 방식
    • 특징: 열(Column) 구조가 동일해야 하며, 일부 열이 다르면 Null이 들어올 수 있음
    • 활용 예시: 월별/분기별로 나뉘어 있는 Excel 시트를 하나로 합쳐서 전체 기간 데이터를 분석
  4. 3.1 집합(Sets)

3. 차트 구성의 핵심: 선반(Shelf)과 마크(Marks) 카드

  1. 행(Row)/열(Column) 선반
    • 차원(카테고리) 또는 측정값(Measure)을 어느 선반에 놓느냐에 따라 차트 축(x, y)이 달라짐.
    • 드래그앤드롭으로 빠르게 차트 형태 변환 가능.
  2. 마크(Marks) 카드
    • 차트 유형(Bar, Line, Circle, etc), 색상(Color), 크기(Size), 라벨(Label), 상세(Detail), 툴팁(Tooltip) 등을 제어.
    • 차원을 ‘색상’에 두면 범례가 생기고, 측정값을 ‘크기’에 두면 값에 따라 마크 크기가 달라짐.
  3. 자동 차트 추천(Show Me)
    • 차원을 선택한 후 ‘Show Me’를 누르면, 테블로가 적절한 차트 유형을 제안.

4. 계산 필드(Calculated Fields)와 파라미터(Parameters)

  1. 계산 필드(Calculated Fields)
    • 테블로가 제공하는 각종 함수를 활용하여 새로운 필드를 만들거나 기존 필드를 가공.
    • SUM, AVG, IF, DATE, STRING 함수 등 다양.
  2. 파라미터(Parameter)
    • 사용자가 대시보드/시트 상에서 값(숫자, 날짜, 문자열 등)을 직접 입력하거나 선택하여 동적으로 시각화를 제어할 수 있도록 하는 기능.
    • 예: “년도 선택” 파라미터 → 선택된 연도 데이터만 반영.
  3. 집합(Sets)과 계산 필드 결합
    • 예: IF [Customer Set] THEN [Sales] ELSE 0 END 식으로 집합(IN/OUT)에 따라 계산 로직 분기
    • 집합이 동적으로 바뀌면 계산 결과도 실시간 반영.

5. 테이블 계산(Table Calculations) & LOD(레벨 오브 디테일) 표현

  1. 테이블 계산(Table Calculations)
    • 이미 ‘시각화된 결과’(집계)에 대해 추가적인 연산을 수행할 때 사용.
    • 예: 전월 대비 증감률, 누적합, 순위(Rank), 이동평균 등
    • 빠른 테이블 계산: 우클릭 → “빠른 테이블 계산”으로 퍼센트 차이, 누적합 등을 간단히 적용.
  2. LOD(Level of Detail) 표현식
    • FIXED, INCLUDE, EXCLUDE 를 사용해 특정 차원 레벨에서 집계를 강제.
    • 예: {FIXED [Region] : SUM([Sales])} → Region 레벨로 매출을 고정 집계
    • 복잡한 분석 로직(여러 차원이 얽힐 때)을 단순화하고, 다양한 레벨 비교를 유연하게 수행 가능.

6. 대시보드(Dashboard) & 스토리(Story) 구성

  1. 대시보드 제작
    • 여러 시트(차트)를 한 화면에 배치해 종합 인사이트 제공.
    • 컨테이너(Container)로 레이아웃 설계, 필터와 액션 등을 배치.
    • PC, 태블릿, 모바일 등 다양한 해상도에 맞춰 반응형(Responsive) 옵션 고려.
  2. 스토리(Story)
    • 분석 흐름을 ‘페이지’ 단위로 스토리텔링 형태로 구성.
    • 업무 보고나 프레젠테이션 시, 한 장씩 핵심 메시지 전달에 유용.

7. 대화형 기능 및 UX 강화

  1. 필터(Filter)
    • 시트 또는 대시보드 전체에 적용할 수 있으며, 사용자가 원하는 조건을 직접 선택하도록 제공.
    • 범위 슬라이더, 체크박스, 검색창 등 다양.
  2. 하이라이트(Highlight)
    • 클릭한 값(카테고리/데이터 포인트)을 다른 시트에서도 강조 표시해 연관성 파악을 용이하게 함.
  3. 액션(Action)
    • 필터 액션: 한 시트에서 클릭한 값을 다른 시트 필터로 사용
    • 하이라이트 액션: 선택 항목을 다른 시트에서 하이라이트
    • URL 액션: 특정 항목 클릭 → 외부 사이트나 내부 웹페이지로 이동
    • 세트 액션(Set Action): 대시보드에서 선택한 멤버를 집합(Set)에 동적으로 추가/제거

8. 성능 최적화 및 베스트 프랙티스

  1. 데이터 추출(Extract) 사용
    • 대용량 데이터를 라이브로 연동하면 속도가 느려질 수 있으므로 추출(.hyper) 파일을 활용해 로딩 성능 향상.
  2. 필요한 데이터만 불러오기
    • 분석에 필요 없는 열(컬럼)과 행(로우)은 미리 필터링해 데이터 크기를 줄임.
  3. 차원 및 필터 구조 간소화
    • 지나치게 많은 필터나 차원(계층)을 세분화하면 퍼포먼스 저하.
  4. LOD, 집합 사용 주의
    • 무분별한 FIXED LOD, 혹은 집합 생성 남발은 쿼리 복잡도를 높이고 관리가 어려워질 수 있음.

9. 실무 활용 팁

  1. 데이터 이해가 우선
    • 테블로는 시각화 툴이므로, 데이터 자체에 대한 이해(구조, 범위, 품질 등)가 먼저 선행되어야 함.
  2. 시각적 스토리텔링
    • 차트를 나열하기보다, ‘무엇을 말하고 싶은가?’를 먼저 정리하고 시각화 기법 활용.
  3. 협업 & 버전 관리
    • Tableau Server나 Tableau Online 등을 사용해 팀 단위로 공유, 권한 관리, 버전 추적 가능.
  4. 계산 필드·집합·LOD 숙달
    • 분석 로직 고도화를 위해 계산 필드, 집합, LOD가 필수적인 스킬.
    • 계산 식과 집합을 잘 활용하면 반복적/복잡한 분석 작업이 훨씬 간단해짐.
  5. Union과 Join, Blend를 적절히 활용
    • Union: 행(기간, 파트 등)을 세로로 확장
    • Join: 열(속성)을 가로로 확장
    • Blend: 서로 다른 데이터 소스를 필요 시점에 결합

10. 자주 쓰는 함수(Function) 정리

테블로 계산 필드에서 많이 사용되는 함수를 크게 집계 함수, 숫자 함수, 문자열 함수, 날짜/시간 함수, 논리 함수, 기타(형 변환 등) 로 나누어 간단히 살펴보겠습니다.

10.1 집계(Aggregate) 함수

  • SUM([필드]): 합계를 구함
  • AVG([필드]): 평균값
  • MIN([필드]) / MAX([필드]): 최소값 / 최대값
  • COUNT([필드]): 전체 개수 (Null 제외)
  • COUNTD([필드]): 고유한 값의 개수 (Distinct Count)
  • MEDIAN([필드]): 중앙값
  • STDEV([필드]), VAR([필드]): 표준편차, 분산

예시
SUM([Sales])
COUNTD([Customer Name])

10.2 숫자(Number) 함수

  • ABS(number): 절댓값
  • CEILING(number): number보다 크거나 같은 최소 정수 (올림)
  • FLOOR(number): number보다 작거나 같은 최대 정수 (내림)
  • ROUND(number, [decimals]): 소수점 n번째 자리에서 반올림
  • INT(number): 소수점 이하 버림 → 정수 변환
  • ZN(number): Null을 0으로 변환

예시
ROUND([Profit] / [Sales], 2) → ‘판매 대비 이익률’을 소수점 둘째 자리까지 반올림

10.3 문자열(String) 함수

  • LEFT(string, n): 문자열 왼쪽부터 n개 문자 추출
  • RIGHT(string, n): 문자열 오른쪽부터 n개 문자 추출
  • MID(string, start, length): 특정 인덱스(start)부터 length만큼 추출
  • LEN(string): 문자열 길이
  • LOWER(string), UPPER(string): 소문자/대문자로 변환
  • TRIM(string): 공백 제거
  • REPLACE(string, ‘old’, ‘new’): 문자열 내 old를 new로 대체
  • SPLIT(string, ‘delimiter’, token_number): 구분자로 분리해 token_number번째 텍스트를 반환

예시
LEFT([Category], 3) → “Furniture”에서 “Fur” 추출
REPLACE([City], "Seoul", "서울")

10.4 날짜/시간(Date/Time) 함수

  • YEAR([Date]), MONTH([Date]), DAY([Date]): 년/월/일 추출
  • DATEPART(‘week’, [Date]): 날짜에서 특정 부분(주, 월, 분 등)을 숫자로 반환
  • DATETRUNC(‘month’, [Date]): 특정 기간으로 잘라서 날짜를 ‘해당 월의 1일’ 등으로 고정
  • DATEDIFF(‘year’, [Start Date], [End Date]): 두 날짜 사이의 연차, 월차, 일차 등을 계산
  • MAKEDATE(year, month, day): 주어진 연/월/일로 날짜 객체 생성
  • MAKETIME(hour, minute, second): 시/분/초로 시간 객체 생성

예시
DATEPART('month', [Order Date]) → 주문 날짜의 ‘월’을 숫자로 반환 (1~12)
DATEDIFF('day', [Order Date], [Ship Date]) → 배송까지 걸린 일 수

10.5 논리(Logical) 함수

  • IF ... THEN ... ELSE ... END: 조건문
  • CASE ... WHEN ... THEN ... END: 다중 분기
  • AND, OR, NOT: 논리 연산
  • ISNULL([필드]): Null 여부 확인
  • IIF(test, value_if_true, value_if_false): 간단한 IF 대체

예시

IF [Sales] > 1000 THEN
   "High"
ELSE
   "Low"
END

IIF(ISNULL([Profit]), 0, [Profit]) → 이익(Profit)이 Null이면 0으로 처리

10.6 형 변환 등 기타 함수

  • STR(number): 숫자를 문자열로 변환
  • INT(string 또는 number): 소수점 이하 버림
  • FLOAT(string): 문자열을 실수로 변환 (형식에 맞아야 함)

예시
STR([Order ID]) → 주문 ID를 문자열로 취급
FLOAT([Parameter]) → 파라미터가 텍스트이면 숫자로 변환

10.7 테이블 계산(Table Calculation) 함수

  • LOOKUP(표현식, offset): 현재 행에서 offset만큼 위/아래(또는 왼/오른쪽) 값 참조
  • RUNNING_SUM(표현식): 누적 합계
  • RUNNING_AVG(표현식): 누적 평균
  • RANK(표현식, ['asc'/'desc'], [ ties_method ]): 특정 표현식에 대해 순위 매기기

예시
LOOKUP(SUM([Sales]), -1) → 바로 이전 행의 매출 합계를 불러옴
RUNNING_SUM(SUM([Profit])) → 처음 행부터 현재 행까지 이익 누적

이러한 테이블 계산 함수들은 ‘뷰(차트)에 배치된 차원·측정값’이 이미 집계된 결과값(행 단위)에서 추가 연산을 할 때 활용합니다.


  • 핵심 키워드: 데이터 연결/추출, 집합(Set), 합수(Union), 계산 필드 & 파라미터, 테이블 계산, LOD, 대시보드, 스토리, 액션, 성능 최적화, 함수(Function)
  • 테블로 함수는 Excel 또는 SQL 함수와 유사한 부분이 많아, 기본 로직만 익히면 쉽게 적용 가능합니다.
  • 함수와 LOD, 테이블 계산을 적절히 결합하면 복잡한 비즈니스 로직도 대시보드에서 손쉽게 처리할 수 있습니다.

추가 팁

  • 공식 문서(Tableau Online Help)나 커뮤니티(포럼, 블로그)에 다양한 예시와 튜토리얼이 많음
  • 실제로 다양한 형태의 데이터와 비즈니스 시나리오에 적용해 보면서, 함수를 어떻게 조합하면 좋을지 습득하는 것이 중요
728x90

'DATA > Tableau' 카테고리의 다른 글

[Tableau]신병훈련소 day2  (0) 2025.01.25
[Tableau] 신병훈련소 day1  (0) 2025.01.22
24.08.30 - Tableau Study #1  (0) 2024.08.30