Tableau 기초 스터디 노트 바로가기 (각종 시각화 기법)
Tableau 중급 스터디 노트 바로가기 (관계, 조인, 유니언, 계층, 그룹, 집합, 동작, 스토리)

1. 퀵 테이블 계산 (Quick Table Calculation)

  • 데이터 분석을 보다 쉽게 할 수 있도록 제공하는 미리 정의된 계산 기능
  • 사용자가 특정 데이터 필드를 우클릭하여, 몇 가지 클릭만으로 기본적인 계산을 수행할 수 있음

1-1. 누적 합계 (Running Total)

  • 데이터를 시간 순서대로 누적하여 합계 계산
  • 에시: 월별 매출액을 누적하여 표시!

1-2. 차이 (Difference)

  • 현재 값과 이전 값의 차이 계산
  • 예시: 전월 대비 월별 매출 증가/감소 계산

1-3. 구성 비율 (Percent of Total)

  • 전체 값에 대한 각 항목의 비율 계산
  • 예시: 제품 대분류/중분류 별 매출 비율

1-4. 순위 (Rank)

  • 데이터 값을 기준으로 순위 산출
  • 예시: 제품 대분류/중분류 별 매출 순위

1-5. 비율 차이 (Percentage Difference)

  • 현재 값과 이전 값의 비율 차이 계산
  • 예시: 전월 대비 월별 매출 증감율/감소율 계산

1-6. 백분위수

  • 데이터 값을 백분위수로 나타내는 기능
  • 예시: 고객별 매출금액의 백분위수 계산

1-7. 이동 평균 (Moving Average)

  • 이동 평균을 계싼하여 시간에 따른 추세를 부드럽게 완화
  • 예시: 3개의 분기에 대한 매출 이동평균

1-8. YTD 총계 (Year-to-Date Total)

  • 현재 연도 시작일부터 오늘까지의 누적 합계 계산, 누계와 유사한 기능
  • 예시: 2024년 1월 1일부터 오늘까지의 매출 총계 계산

1-9. 통합 성장률 (Integrated Growth Rate)

  • 여러 기간에 걸친 성장률을 합산하거나 누적하여 계산하는 방식
  • 예시: 2016년부터 2019년까지의 통합 성장률 계산

2. 계산된 필드

  • 사용자가 직접 특정한 계산을 통해 새로운 필드를 생성하거나 기존 데이터를 변환하여 분석에 활용할 수 있도록 함
  • 산술계산, 조건문, 날짜 계산, 문자열 처리 등을 포함한 다양한 작업을 처리할 수 있음

2-1. 연산자

  • 산술연산: 덧셈 (+), 뺄셈 (-), 곱셈 (*), 나눗셈 (/), 모듈러 연산 (%)
  • 비교연산: 등호(=), 불일치(!=), 크다(>), 작다(<), 크거나 같다(>=), 작거나 같다
  • 문자연산: 붙이기(CONCAT), 길이(LEN)
    CONCAT([First Name], ' ', [Last Name])

2-2. 논리 함수

  • IF: 조건에 따라 두 가지 값 중 하나를 반환

    IF SUM([매출]) >= 200000000 THEN '2억 이상' ELSE '2억 미만' END
  • CASE: 여러 조건 중 하나를 만족할 때 해당 값을 반환

    CASE [Region]
      WHEN 'East' THEN 'Good'
      WHEN 'West' THEN 'Better'
      ELSE 'Average'
    END
  • AND/OR: 복합 조건을 결합하여 판단

    IF SUM([Sales]) >= 1000 AND [Region] = 'East' THEN 'Top Performer' ELSE 'Other'
    END
    IF SUM([Sales]) >= 1000 OR [Region] = 'West' THEN 'Qualified' ELSE 'Unqualified'
    END
  • ISNULL: 값이 NULL인지를 확인

    IF ISNULL([Sales]) THEN 'No Data' ELSE [Sales] END

2-3. 매개변수 (Parameters)

  • 사용자로부터 입력을 받을 수 있는 동적 값을 생성하는 기능
  • 특정 값에 따라 계산을 유동적으로 변경할 수 있게 해줌
  • 예시: 사용자가 선택한 기간(Selected Year, 2019-2021)에 따른 매출 계산
    IF YEAR([Order Date]) = [Selected Year] THEN [Sales] END

3. Primary 함수 (Primary Function)

  • 함수 내 다른 함수가 포함된 함수를 지칭함
  • 대표적으로 RUNING 함수와 WINDOW 함수가 있으며, 중첩 함수(Nested Function)라고도 함

3-1. RUNNING_SUM

  • 데이터의 누적 평균을 계산
  • 예시: 매월 매출을 기준으로 누적 매출합 구하기
    RUNNING_SUM(SUM([매출]))

3-2. RUNNING_AVG

  • 데이터의 누적 평균을 계산
  • 예시: 매월 매출을 기준으로 누적 평균 매출 구하기
    RUNNING_AVG(SUM([매출]))

3-3. TOTAL

  • 전체 데이터 집합을 기준으로 계산
  • 예시: 제품 대분류, 중분류와 관계없이 총 매출 합 구하기
    TOTAL(SUM([매출]))

3-4. LOOKUP

  • 현재 행을 기준으로 다른 행의 값을 참조하는 데 사용
  • 상대적 위치를 기준으로 값을 반환하며, 이전 행, 이후 행 또는 지정된 행을 참조할 수 있음
  • 예시: 이전 행의 매출 값 불러오기
    LOOKUP(SUM([Sales]), -1)

3-5. WINDOW_AVG

  • 주어진 범위 내에서 집계된 값을 평균을 계산하는 데 사용
  • 특정 행을 기준으로 주변 행들을 포함하는 범위를 설정하여 계산 시행
  • 예시: 3개월 이동평균 매출 계산
    WINDOW_AVG(SUM([Sales]), -2, 0)

4. 문자열 함수

4-1. CONTAINS

  • 주어진 문자열 안에 특정 부분 문자열이 포함되어 있는지 확인

  • 문자열이 포함되면 True를 반환하고, 포함되지 않으면 False를 반환함

    CONTAINS(UPPER([제품명]), 'SMART PHONE')

4-2. SPLIT

  • 문자열을 구분자를 기준으로 나누고, 지정된 부분만 반환함
    SPLIT([제품명], ' ', 1)

4-3. REPLACE

  • 문자열 안에서 특정 부분을 다른 문자열로 교체함
    REPLACE([제품명], 'SMART PHONE', 'SMARTPHONE')

4-4. UPPER

  • 문자열을 모두 대문자로 변환함
    UPPER([제품명])

5. DATE 함수

5-1. DATEPART

  • 특정 날짜에서 연도, 월, 일, 시간 등 원하는 부분을 추출함
  • Tableau에서 불연속형 일자 데이터 드릴다운 시, 기본적으로 DATEPART가 이용되고 있음 (특정 값으로 반환)
  • [Order Date]가 2024년 12월 23일이면 DATEPART('year', [Order Date])2024를 반환
  • [Order Date]가 2024년 12월 23일이면 DATEPART('month', [Order Date])12를 반환

5-2. DATETRUNC

  • 날짜를 특정 단위로 잘라서 해당 단위의 시작 날짜를 반환함
  • Tableau에서 연속형 일자 데이터 드릴다운 시, 기본적으로 DATETRUNC가 이용되고 있음 (날짜 형태로 반환)
  • [Order Date]가 2024년 12월 23일이면 DATETRUNC('month', [Order Date])2024-12-01을 반환
  • [Order Date]가 2024년 12월 23일이면 DATETRUNC('quarter', [Order Date])2024-10-01을 반환

5-3. DATEDIFF

  • 두 날짜 사이의 차이를 계산하되, 차이는 연도, 월, 일 등의 단위로 반환됨
  • [Order Date]가 2024년 12월 1일이고, TODAY()가 2024년 12월 23일이면 DATEDIFF('day', [Order Date], TODAY())22를 반환
  • [Order Date]가 2024년 12월 1일이고, TODAY()가 2024년 12월 23일이면 DATEDIFF('month', [Order Date], TODAY())0을 반환

5-4. MTD (Month-to-Date)

  • 현재 월의 첫 번째 날부터 오늘까지의 데이터를 포함함
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2024년 12월 5일이면 이 날짜는 MTD에 포함됨
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2024년 11월 30일이면 이 날짜는 MTD에 포함되지 않음

5-5. QTD (Quarter-to-Date)

  • 현재 분기의 첫 번째 날부터 오늘까지의 데이터를 포함함
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2024년 10월 15일이면 이 날짜는 QTD에 포함됨
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2024년 9월 30일이면 이 날짜는 QTD에 포함되지 않음

5-6. YTD (Year-to-Date)

  • 현재 연도의 첫 번째 날부터 오늘까지의 데이터를 포함함
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2024년 1월 15일이면 이 날짜는 YTD에 포함됨
  • TODAY()가 2024년 12월 23일일 때, [Order Date]가 2023년 12월 31일이면 이 날짜는 YTD에 포함되지 않음

6. LOD 표현식

  • Level of Detail의 약자로, 데이터 집계 수준을 세밀하게 조정하는 데 사용됨
  • 중괄호({}) 안에 기술하며, 차원과 집계 사이에는 콜론(:)을 넣어 표현함
  • 해당되는 차원이 여러 개인 경우 콤마(,)로 구분하여 표현할 수 있으나, 집계값은 하나만 정의 가능
    {INCLUDE [차원1], [차원2]: SUM([측정값])}
  • INCLUDE, EXCLUDE는 화면 구성의 영향을 많이 받기에 실무에서는 FIXED가 더 자주 활용됨

6-1. INCLUDE

  • 화면에 포함되지 않은 특정 차원을 포함시켜서 계산 수행
  • 즉, INCLUDE의 집계는 화면에 존재하는 차원과 화면에 포함되지 않은 차원의 영향을 함께 받음 (화면 포함여부와 관계없이 계산하는 FIXED와 결과가 다르게 나올 수 있음)

6-2. EXCLUDE

  • 화면에 포함된 특정 차원을 제외시킨 채 계산 수행
  • 예시: '제품 중분류'와 관계없이 매출합 집계가 필요한 경우
    {EXCLUDE [제품 중분류]: SUM([매출])}

6-3. FIXED

  • 화면 포함여부와 관계없이 특정 차원을 고정하여 계산 수행
  • 예시: '제품 대분류'를 고정하여 매출합 집계가 필요한 경우

*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

profile
데이터 분석, 데이터 사이언스 학습 저장소

0개의 댓글