일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 자동화
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 대시보드
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery # 전환율
- #패스트캠퍼스 #내일배움카드취업 #국비지원교육 #K디지털기초역량훈련 # 데이터시각화강의
- #코멘토 #코멘토실무PT #실무PT후기 #Google BigQuery
문과생의 데이터 연습
[K-디지털 기초역량훈련] 태블로 데이터 시각화 첫걸음 시작하기 : [패스트캠퍼스] 데이터시각화 강의 (4주차 학습 정리) 본문
[K-디지털 기초역량훈련] 태블로 데이터 시각화 첫걸음 시작하기 : [패스트캠퍼스] 데이터시각화 강의 (4주차 학습 정리)
의인은 믿음으로 2022. 10. 11. 11:27▶ [KDC] 태블로 데이터 시각화 첫걸음 시작하기_4주차_데이터 시각화 (1)
[국비지원교육]
1️⃣ CH1-1 Sales Analytics Dashboard 만들기
데이터: Tableau Sample Superstore
구성: KPI와 기본시트로 구성됨
✅ 기본시트 제작 Sales by Sub-category
- [Sales] 열 칸에 올리고 [Sub-category]는 행칸에 올린다.
- INDEX() 함수를 만들고 행칸에 올린다. 불연속으로 전환
- 제목과 폰트를 설정하고 서식에 들어가서 격자선을 제거한다.
✅ 기본시트 제작 Profit by Subcategory & Region
- [Region]을 열칸에 올리고 [Sub-Category]을 행칸에 올린다.
- INDEX() 함수를 행칸에 올리고 MIN() 함수를 연속형으로 만들어서 행칸에 올린다 이때 축 서식을 클릭해서 0 ~ 1사이로 변경
- Profit을 색상 마크에 올린다.
✅ 기본시트 제작 Top 10 Customers
- [Customer Name] 하고 RANK()함수를 만들어서 행칸에 올린다.
- 계산된 필드를 이용해서 [Orders by Customer] 컬럼을 만든다.
{ FIXED [Customer Name]: COUNTD([Order ID]) }
[Customer Name]을 그룹 기준으로 고정하여 주문 ID 개수를 센다.
- MIN()함수를 열칸에 올린다. 축 서식을 또 바꾼다.
- 기본 매개변수 컬럼으로 제공되어 있는 [Top Customers]을 이용하여 새로운 계산된 필드를 만든다.
[rank()] <= [Top Customers]
- [Top N Customers]라고 컬럼이름을 정하고 열칸에 올린다. 거짓과 참중 참만 필터링해서 가져온다.
- [Top Customers] 매개변수를 매개변수표시에 올려서 제대로 작동하는지 확인한다.
✅ KPI 제작
DATETRUNC("month", [Order Date]) = DATETRUNC("month",{MAX([Order Date])})
- 달을 기준으로 가져오되 가장 최신 달을 참으로 나머지는 거짓으로 만드는 계산된 필드를 작성한다.
- [Sales] 컬럼을 두개 올리고 그 중 하나는 퀵 테이블 계산 -> 비율차이를 선택한다.
- BAN을 만드는 것이 목적임으로 년월을 기준으로 거짓들은 다 레이블 숨기기를 한다.
- 같은 방식으로 나머지 2개 BAN도 컬럼 명만 바꿔주면서 진행한다.
✅ 스파크 라인 제작
- 계산된 필드 [Sales Spark Color]열 만들기
DATETRUNC('month', [Order Date]) = DATETRUNC('month', {MAX([Order Date])})
- 색상을 다르게 가져가기 위해서 LOD 표현식을 쓴다.
if DATEPART('month', [Order Date]) = DATEPART('month', {MAX([Order Date])}) then [Order Date] END
- 각 끝의 년월을 불러오는 계산된 필드 ex) 2018년 12월, 2019년 12월, 2020년 12월
- [Order Date]의 월과 만든 계산된 필드의 [Datepart Month]을 이중축으로 설정한다.
- [Sales]을 행 열칸으로 올린다.
- 만든 [Sales Spark Color]을 마크 색상으로 올린다.
- 똑같은 방법을 나머지 Profit, Customer ID도 똑같이 진행한다.
2️⃣ CH1-2 Interactive Dashboard 만들기
✅ 기본시트 제작 Region & Year
- [Region] 컬럼과 MIN() 함수를 넣는다 MIN() 컬럼 축 서식에서 0 ~ 1로 맞춘다.
- [Region] 컬럼 텍스트 마크에 넣는다.
- [Year] 컬럼도 같은 방식으로 진행한다.
✅ 기본시트 제작 Category
- [Category] 컬럼도 똑같이 진행하되 행은 [Category] 칸에 MIN()함수는 열 칸에 넣고 마크색상도 추가한다.
✅ 기본시트 제작 Sales Trend
- [Order Date] 컬럼을 월로 설정하고 이중축을 설정한다.
- [Category]와 [Sales] 컬럼을 행칸에 놓는다.
- 그래프 종류를 영역으로 바꾸고 색상을도 마크에 추가 한다.
✅ 매개변수 계산된 필드 표 제작
- Drll Down 매개변수를 만든다.
- [측정값]을 넣고 [Profit], [Sales], [Profit Ratio], [Order ID] 개수 컬럼들만 살린다.
- [Drill - Down Dim] 컬럼을 만든다.
IF [Customer Name] = [Customer Name Parameter ] then
CASE [Drill-down Dimension Parameter]
when 1 THEN [Sub-Category]
when 2 THEN [Region]
end
ELSE ''
END
- 입력한 [Customer Name] 에 대한 정보의 [Sub-Category] 혹은 [Region] 컬럼 정보를 나타나게 하는 계산된 필드를 제작
- [Customer Name] 하고 [Drill - Down Dim] 컬럼을 행에 올린다.
✅ 대시보드 동적 제작
▶ 하이라이트 동적
- Sales Trend을 눌렀을 때 월 기준으로 하이라이트가 나타나도록 설정
▶ 하이라이트 동적
- Category 버튼 클릭시 집합 동적 적용되도록 설정
▶ 매개변수 동적
매개변수 파라미터를 설정한다.
3️⃣ CH1-3 HR Dashboard 만들기
✅ 기본시트 제작 Department
- [Department] 컬럼을 행 칸에 올리고 [Department] 의 개수를 세기 위해서 COUNT([CH14-4 Human Resources.csv]) 함 수를 열 칸에 올린다. [of employees] 계산된 필드를 만들었다.
✅ 기본시트 제작 Job Tilte
- 트리맵을 만들기 위해서 [of employees]을 크기, 색상 마크에 올리고 그래프 유형은 사각형을 선택한다.
- [Job Title] 컬럼과 [of employees] 컬럼의 텍스트도 올린다.
✅ 기본시트 제작 Diversity
- 필터를 누를 때마다 Gender, Race 으로 바뀌도록 설정 계산된 필드 컬럼 명 이름은 [Diversity dim]으로 설정
IF [Race or Gender] = 1 then [Gender]
ELSEIF [Race or Gender] = 2 then [Race]
end
- [Hire Date]을 년(Year)으로 설정해서 열 필드에 올리고 [of employees] 컬럼은 행으로 올린다.
- [Diversity dim]을 색상 마크로 올린다.
- [of employees] 컬럼의 계산을 구성비율로 바꿔준다.
✅ 기본시트 제작 Hire Trend
- [Hire Date]을 년(Year)으로 설정해서 열 필드에 올린다.
- [of employees]을 행 칸에 올리고 이중축으로 올리고
IF [of employees] = WINDOW_MIN([of employees]) then 'min'
ELSEIF [of employees] = WINDOW_MAX([of employees]) then 'max'
ELSEIF LAST() = 0 THEN 'most recent' END
- [dot-trend] 계산된 필드를 만들고 색상에 올린다.
✅ BAN 만들기 (퇴사)
if ISNULL([Termdate])
then "Active"
ELSEIF ([Termdate]> TODAY()) THEN
ELSEIF ([Termdate] <= TODAY()) then "Terminated"
end
- 퇴사한 사람과 안한 사람을 구별하기 위한 계산된 필드를 만든다.
- [of employees] 컬럼을 텍스트로 올린 다음 만들었던 계산된 필드 [Employment Status]을 필터링으로 넣는다.
✅ BAN 만들기 (Tenure)
if ISNULL([Termdate]) then
DATEDIFF('year', [Hire Date], TODAY()) // 퇴사자 아닌 사람들이 오늘부터 언제까지 근무를 하는 중인지
ELSEIF
[Termdate] < TODAY() then // 퇴사자들
DATEDIFF('year', [Hire Date], [Termdate]) // 퇴사 시점과 고용시점 차이
else
DATEDIFF('year', [Hire Date], TODAY()) // 퇴사 예정(?)
end
- [Tenure] 계산된 필드 컬럼 만들기
- 고용날짜 까지 걸린 년도,
퇴사날짜가 정해져 있다면 근속연수를 나타낸다.
곧 퇴사예정이면 고용됐을 때 부터 오늘까지 계산하는 계산된 필드를 만든다.
- [Tenure] 계산된 필드 컬럼을 BAN으로 올린다.
✅ BAN 만들기 (Age)
DATEDIFF('year', [Birthdate], TODAY()) + 1
✅ 동적 기능 만들기
필터동작 편집
- Department을 누르면 Department를 제외한 전체가 변하도록 설정
4️⃣ CH1-4 Retention Analysis 대시보드 만들기
코호트 분석(Retention 분석)이란?
특정 기간동안 공통의 특징을 지난 사용자의 추이를 분석할 수 있는 방법론
고객의 유지율을 볼 수 있는 것이 핵심이다.
가로는 각 주 경과
세로는 주차별 신규 유저 수
코호트 차트를 만들기 위해서는
1.) 고유 User id가 있어야 한다 중복이 있으면 분석의미가 희미해지기 때문!
2.) 최초 접속일을 구해야한다.
3.) 경과 수 (일, 주, 월, 년, 등 다양한 기준으로 쪼갤 수 있다.)
✅ 코호트 차트 만들기
DATE(DATETRUNC('week', {FIXED [User ID] : MIN([Event Time])}))
- [first Event Cohort] 계산된 필드를 만든다. -> 첫 번쨰 접속한 유저 계산 주(week)를 기준으로
DATEDIFF('week', [first Event Cohort], [Event Time])
- [how many weeks] 계산된 필드를 만든다. 몆 주가 걸렸는지를 계산
- User ID 1094000 같은 경우는 2021-10-03에 처음 접속하고 총 7번 접속 2021-10-29일 같은 경우는 첫 접속일 까지 3주가 걸렸다.
[how many weeks] 을 열 칸에 [first Event Cohort] 을 행칸에 놓고 둘다 불연속으로 바꾼다.
COUNTD([User ID]) / attr({EXCLUDE [[2]] how many weeks] : COUNTD([User ID])})
[Retention Rate]을 계산된 필드를 만드는데 중요한 점은 첫번째 유저아이디를 분모로 놓고 계산을 해야하기 때문에
Exclude LOD 표현식을 써야한다.
[Retention Rate] 만든 계산될 필드를 텍스트와 색상 마크로 넣는다.
✅ 신규유저
[first Event Cohort]을 열로 놓고 [User ID]를 행 열칸에 놓는다.
✅ 유저 누계
[first Event Cohort]을 열로 놓고 [User ID]를 행 열칸에 놓는다. [User ID]를 퀴테이블 계산에서 누계로 바꾼다.