문과생의 데이터 연습

[K-디지털 기초역량훈련] 태블로 데이터 시각화 첫걸음 시작하기 : [패스트캠퍼스] 데이터시각화 강의 (4주차 학습 정리) 본문

Tableau/Tableau K-Digital Credit (Feat 패스트 캠퍼스)

[K-디지털 기초역량훈련] 태블로 데이터 시각화 첫걸음 시작하기 : [패스트캠퍼스] 데이터시각화 강의 (4주차 학습 정리)

의인은 믿음으로 2022. 10. 11. 11:27
728x90

▶ [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])})

- 달을 기준으로 가져오되 가장 최신 달을 참으로 나머지는 거짓으로 만드는 계산된 필드를 작성한다. 

계산된 필드 결과의 예시 12월 달만 참으로 나옴을 확인 할 수 있다.

- [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

매개변수 만들기 (Race or Gender)

- 필터를 누를 때마다 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]를 퀴테이블 계산에서 누계로 바꾼다. 

 

 

 

 

 

728x90
Comments