Tableau - for business analytics 1 : 데이터 취업 스쿨 스터디 노트 1/10

slocat·2024년 1월 10일
0

start-data

목록 보기
62/75

1. 퀵 테이블 계산

  • 누계
  • 차이 : 기본적으로 특정 값 앞의 항목과의 차이를 계산
    계산 기준 옵션 = 이전, 다음, 첫 번째, 지난
    마크 Δ (델타) = 테이블이 계산되었다는 의미
  • 구성비율
  • 순위
  • 비율 차이 : 이전 항목 대비 증감을 비율로 나타냄
  • 전년 대비 성장률
  • 백분위수 : 테이블 계산 편집에서 내림차순 설정 가능
  • 이동평균 : (적용) 행에 매출, 열에 분기 - 매출에 계산 적용
    테이블 계산 편집에서 이전 값 변경 가능
  • YTD 총계 : 해당 연도 시작일부터 현재까지의 누계
    누계 적용 후 계산 방식을 패널(아래로) 기준으로 변경한 것과 같은 결과
  • 통합 성장률 ➡ CAGR(연평균 성장률) : 여러 해 동안의 성장률을 평균으로 환산한 것으로, 매년의 성장률을 산술평균이 아닌 기하평균으로 환산
    (최종 연도 값 / 최초 연도 값)^(1 / 연도간격) - 1

2. 계산된 필드

  • 데이터 원본에 없는 필드를 새로 만드는 것
  • 필드 : 데이터 원본에 존재하는 필드를 활용하여 새로운 필드를 만드는 것
  • 연산자 : 필드, 매개변수, 함수 등을 계산하여 새로운 값을 만드는 것
  • 매개변수 : 상수 값을 동적인 값으로 변경해주는 변수 ➡ 차트를 동적으로 변경시킬 수 있음
  • 함수 : 새로운 계산식을 적용하기 위해 기존 데이터 원본의 필드에 유형 및 역할을 결정하는 데 영향을 줌

2-1. 필드

# 주문 건수
COUNTD([주문 번호])

# 주문건당단가
SUM([매출]) / [주문 건수]

# 주문건당수량
SUM([수량]) / [주문 건수]

# 수익률
SUM([수익]) / SUM([매출])

주문 번호를 단순 카운트하면 중복되기 때문에 고유 카운트 해줘야 한다. 고객이 여러 제품을 한 번에 주문한 경우 하나의 주문 건수에 다수의 제품이 있기 때문에 같은 주문 번호로 제품 수 만큼의 row가 생성되기 때문이다.

데이터 원본에 있는 필드는 뷰 화면이나 마크 카드에 올려 놓으면 기본 집계 방식이 합계로 계산된다. 계산된 필드는 계산식 안에 들어 있는 방식으로 표시된다.

수익률이 0으로 나타나는 이유는, 매출과 수익이 정수값이라서 수익률도 정수값으로 표시되기 때문이다. 서식을 변경하면 된다.

주문건당수량 역시 숫자(사용자 지정)으로 변경해주면 소수점까지 나타난다.

2-2. 논리 함수

주석 처리 = 슬래시 두 개

# 매출 2억 구분
IF SUM([매출]) >= 200000000 THEN '2억 이상 매출' ELSE '2억 미만 매출' END

IIF (SUM([매출]) >= 200000000, '2억 이상 매출', '2억 미만 매출')

# 매출 2억 구분_TF
SUM([매출]) >= 200000000

필드를 색상 마크에 넣어주고, 상수 라인을 넣어준다.
퍼포먼스를 신경 써야 한다면, bool 방식으로 계산식을 만드는 게 좋다. 처리 속도가 더 빠르기 때문이다.

2-3. 범위형 매개변수

매개변수는 계산식이나 참조선과 함께 사용된다.

SUM([매출]) >= [특정 금액 이상]

계산식을 색상 마크에 넣고 나면 매개변수 값에 따라 차트가 변경된다.

값을 동적으로 변경시켜주려면 상수라인이 아닌 참조선을 넣어야 한다. 참조선 라인의 값을 매개변수로 지정한다.

2-4. 목록형 매개변수

매출을 원화와 달러 두 가지로 표시하고 싶을 때

# USD 계산된 필드
SUM([매출]) / 1120

필드를 뷰 화면에 매출(원화)이 표시된 부분에 드래그하면 아래와 같이 나타난다.

매개변수를 이용할 수도 있다.

# KRW/USD 필드
SUM([매출]) / [환율]

2-5. 날짜형 매개변수

# 날짜 선택 필드
[주문 일자] >= [From]
AND
[주문 일자] <= [To]

필드를 필터로 드래그하여 참인 값만 표시한다.

날짜 표시가 잘 보이게 하려면 주문 일자를 불연속형으로 변경하면 된다.

2-6. 복합 매개변수

# 차원 필드 선택 - 열
CASE [차원 선택]
WHEN 1 THEN [제품 대분류]
WHEN 2 THEN [제품 중분류]
END

# 측정값 필드 선택 - 행
CASE [측정값 선택]
WHEN 1 THEN SUM([매출])
WHEN 2 THEN SUM([수량])
WHEN 3 THEN SUM([수익])
WHEN 4 THEN AVG([할인율]) * 100 # 평균 할인율
END

측정값을 여러 개 넣으면 단위가 헷갈릴 수 있으니 단위를 표시해주고, 제목도 변경해준다.

# 단위 선택
CASE [측정값 선택]
WHEN 1 THEN '원'
WHEN 2 THEN '개'
WHEN 3 THEN '원'
WHEN 4 THEN '%'
END

3. PRIMARY 함수

  • 함수 내에 다른 함수가 포함된 함수로, ()안에 집계된 값을 포함시켜야 한다.
  • 대부분 퀵 테이블 계산으로 대체 가능하기 때문에 잘 사용되지 않지만, 퀵 테이블이 어떻게 계산되는지 이해하고 사용하는 게 좋기 때문에 PRIMARY 함수로 직접 만들어보면 좋다.

3-1. RUNNING(_SUM _AVG _COUNT _MAX _MIN)

SUM : 첫 번째 행부터 현재까지 주어진 시기의 누계 합계 (퀵 테이블 계산의 누계와 동일)

RUNNING_SUM(SUM([매출]))

AVG : 첫 번째 행부터 현재까지 주어진 시기의 누계 평균
이동 평균에 사용되는 AVG는 RUNNING_AVG가 아니라 WINDOW_AVG 함수이다.

RUNNING_AVG(SUM([매출]))

3-2. TOTAL

TOTAL(SUM([매출]))

매출 비중을 만들고 싶을 때 사용한다. 퀵 테이블 계산의 비중을 계산할 때 사용되는 함수이다.

SUM 함수는 차원을 나누면 해당 레벨에 맞춰 합계를 다시 구하지만, TOTAL 함수는 차원에 영향을 받지 않는다.

3-3. LOOK UP

현재 행 기준으로 오프셋 만큼 떨어진 대상의 행에서 주어진 식의 값을 반환한다.

# 현재 행으로부터 -1 떨어진 행의 값 가져오기
LOOKUP(SUM([매출]), -1)

# 이후 값 가져오기
LOOKUP(SUM([매출]), 1)

# 전년 대비 매출액 차이 - 퀵 테이블 계산의 차이와 동일
# ZN : NULL값이 있으면 0으로 처리
ZN(SUM([매출])) - ZN(LOOKUP(SUM([매출]), -1))

3-4. WINDOW(_SUM _AVG _COUNT _MAX _MIN)

현재 화면 내에서 해당 식을 반환하는 함수
특정 범위를 지정하여 계산할 수 있다는 점이 RUNNING 함수와 다르다.

# -3부터 현재 행까지의 매출 합계의 평균
WINDOW_AVG(SUM([매출]), -3, 0)

즉, 2019년 4분기의 평균값은 2019년 1234분기의 매출에 대한 평균값이다.

4. 문자열 함수

  • CONTAINS, REPLACE, SPLIT, UPPER
  • 문자열 함수를 활용하여 다른 시각에서 인사이트를 도출해보자.
# 제품명에 'SMART PHONE' 포함 여부
CONTAINS(UPPER([제품명]), 'SMART PHONE')

# 제품명에서 브랜드명만 가져오기
SPLIT([제품명], ' ', 1)

# replace: 공백 없애기
REPLACE(UPPER([제품명]), 'SMART PHONE', 'SMARTPHONE')

# 제품명에서 품목만 가져오기
LEFT(SPLIT([replace], ' ', 2), 10)

0개의 댓글