관리 메뉴

ilovechoonsik

[STARTERS 4기 TIL] 프로젝트 기반 태블로 실전 트레이닝 #6 - 계산된 필드, Primary 함수 (230320) 본문

STARTERS 4기 🚉/TIL 👶🏻

[STARTERS 4기 TIL] 프로젝트 기반 태블로 실전 트레이닝 #6 - 계산된 필드, Primary 함수 (230320)

춘시기좋아 2023. 3. 20. 17:53

 

📖 오늘 내가 배운 것

 

1. 과제 발표 및 피드백

2. 태블로 테크닉

3. 과제 대시보드 보완 연구

 


1. 과제 발표 및 피드백

1.1 PT 시 중요한 부분

(1) 배경 및 목표 부터 잘 잡고 들어가야 한다!

여기 맘에 안 들면 공격이 나옴

 

(2) 말할 때, TOP DOWN 식으로!

1. 들어가기 전 데이터 셋 간단하게라도 이야기 : 2013~2014년 무슨무슨 데이터 활용했습니다, 총매출은 얼마입니다!

2. 데이터가 많다면? : 정확한 결과를 도출하기 위해 노력했다.

3. 1을 이야기 하면 1의 반대 까지 이야기 : 충성 고객 화이트 리스트 기반으로 이렇게저렇게 진행하겠다! 왜 블랙 리스트는 신경 쓰지 않아요? → 이런 질문에 대답할 수 있어야 함. ex) 블랙 리스트 제거 비용이 막대하다

 

📌 우리 조 프로젝트?

TOP DOWN 형식이 아니라 나열하는 형식
우측 그래프 같은 경우는?
→ 책 잡힐 여지가 너무 많다
→ 쓰지 말거나 수치로 표현하기

 

📌 정리히면?

1. 전체적인 데이터 셋 설명 (컬럼 하나하나 X)

2. 자랑하듯 이야기! 이만큼 봐서 이거 이렇게 정확해

3. 목표 이야기 (반대 상황을 꼭 준비하고 있기)

4. 현재 회사가 어떻게 하고 있는지 암기하고 있기 (총매출, 순수익, 판매량 등 매일 KPI 확인)

 

2. 태블로 스킬

2.1 계산된 필드 작성 방안

상황에 따라 다르다

메뉴얼하게 작성하면 좋지 않다

 

📌 1번 예제

예를 들어, (y = 2x + 3) 수식을 사용한다? 그리고 이 수식을 다른 필드에서도 지속적으로 사용한다?

함수가 여러 개 쓰이고 변동이 있는 경우 x를 따로 만들고 식에 넣어야 한다!

x = sum(sales)

y= 2x + 3

→ 계산된 필드에 수식 여러 개 들어가는 경우가 있다

→ 이럴 땐 수식을 전부 쪼개서 따로 넣어줘야 한다.

 

📌 2번 예제

변동이 없는 데이터가 들어오는 경우가 있는데

믿을만한 DB에서 온 깔끔한 데이터다 이거 틀리는 거 말이 안 될 때 사용하는 식

차원을 1만들고 2에 1쓰고 3에 2쓰고 마지막으로 4에 3써서 쓰는 건 4밖에 없다?

이걸 한번에 처리할 수 있다.

예를 들어 1. REVIEW가 0인 애들을 뽑는 식 2. 이걸 if then에 사용한다?

그럼 굳이 1-2로 따로 만들지 않고 한 개로 만들어도 됨.

근데 초보일 때는 전부 따로 만들고 합치는 것도 연습하기 좋음.

단, 너무 복잡하지 않은 경우

에어 비앤비 데이터에서 1번 예시를 쓸 경우가 없구, 2번은 있었음

데이터 셋 작을 수록 2번 쓰기 쉽다. 크면 1번이 좋을 때가 많음

 

2.2 Primary 함수

(1) Primary 함수 종류

Total()

Window()

Lookup()

Running()

Previous_value()

# Primary 함수는 화면에 없으면 확인할 수 없다.
ex) 누계 같은 경우 이전 행 데이터 제외하고 누계만 볼 수 없음

📌 TOTAL() 예시

 

 

 

 

 

 

 

 

 

 

 

 

 

 


📌 WINDOW 함수 중 많이 사용하는 건? 1 AVG 2 SUM

 


WINDOW_AVG(원하는 측정값), 시작 범위, 끝 범위)
뒤에 범위는 어디가 시작이고 어디가 끝이냐 묻는 것
내가 지금 있는 곳 = 0

 

→ 저번 달, 이번 달, 다음 달 포함하는 것. -1, 1
→ 현재 달 포함해서 지난 두 달 보려면? -2, 0
→ 이번 달 빼고 지난 세 달 계산하려면? -3, -1

 

예시 2의 계산식은?

 

위와 같은 경우 전 달이 없기 때문에 현재-다음 달 값 계산한 거!

값이 없으면 계산하지 않게 하려면? 

IF WINDOW_COUNT(SUM([Sales]),-1,1) = 3 THEN WINDOW_AVG(SUM([Sales]),-1,1)
ELSE NULL END

IF THEN WINDOW-AVG() 갯수가 3개 일 때만 계산하라는 식

 

 

📌 LOOKUP()

 

MOM 쓸 때 많이 사용함 -> SALES, LOOK UP 함께 보면서 이해해야 쉽다.

내가 있는 기준 행에서 어디를 LOOKUP 하겠다는 거지? -1 주면 위에 있는 행

날짜라면? 저번 달

근데 날짜 차원이 분기라면? 분기인 거고-연도 라면 연도인 것

 

설정한 차원에 따라 달라진다.

즉, 단순 행 단위로 계산!

 

이걸 활용하면 우측 사진과 같이 설정된 기간에 대한 편차를 구할 수 있음

 

 

📌 RUNNING_SUM

퀵 테이블로 만들 수 있는 거 안다!

하지만 이건 계산된 필드로 활용할 수 있다는 것.

why? 계산된 필드로 따로 사용해야 할 경우가 있는데

이때 퀵 테이블은 활용 불가능하다

→ 차원이 엮이는 순간 퀵 테이블 계산은 다 깨진다.

 

예시를 보자!

누계에다 뭘 더하고 뭘 빼달라는 요청이 많음.

이럴 때 계산된 필드로 running_sum을 활용하는 것! 바로 위처럼!

 

근데? 제거하면 계산이 깨지겠지?

숨기기 하면 된다!

근데 또? 숨기기 하고 자동화 되면 다 풀린다…

당장 보내줘! 할 때는 사용할 수 있지만 - 3시간에 한 번씩 자동화 되는 대시보드면 사용 안 하는 게 좋음

 

📌 Previous_value()

자주 사용하지 않음, 알아만두기

이전 행이 있다면 그 값을 반환한다!

 

📌 RANK

 

SQL 에서 랭크 뽑지 말라! 차원이 바뀌면 RANK도 바뀌기 때문에 의미가 없음.

RANK는 측정값일까 차원일까? -> 측정값!

그냥 넣으면 좌측과 같이 난리가 나고, 우측과 같이 불연속형으로 변경해서 차원으로 넣어야 한다!

 

차원과 측정값

차원 : 불연속형

범위가 있다? 불연속형

Region = central, south,west 정해진 범위가 있잖아? 불연속형

측정값? : 무한히 늘어날 수 있는 수치 → 연속형

 

근데?

차원 우클릭 - 측정값으로 변환이 있다.

문자열을 셀 수 있는 건 count! 즉, count로 하는 것

 

📌 PREVIOUS VALUE VS LOOK UP

PREVIOUS VALUE
  Y ⬇️
X ➡️ P (+INT)

 

LOOK UP
X  
  X

 

3. 개인 과제

3.1 금일 배운 Previous 함수 활용해서 그래프 3개 만들기

📌 WINDOW_AVG

 

📌 LOOKUP

 

📌 RUNNING_SUM

 

📌 MoM

 


💪🏻 좋았던 점, 앞으로 개선해야 할 점 (추가로 배워야 할 점)

 

📌 머리로는 이렇게 저렇게 하면 되겠다! 싶은데 구현하는 게 쉽지 않다ㅠㅠ

자연스럽게 나올 때까지 자주 사용되는 핵심 개념 정리하며 학습 지속하자!🐈

 

 

 

#유데미, #유데미코리아, #유데미부트캠프, #취업부트캠프, #부트캠프후기, #스타터스부트캠프, #데이터시각화 #데이터분석 #태블로

Comments