Flask와 React JS로 구성됨
기본으로 sqlite을 메타데이터 데이터베이스로 사용
Redis를 캐싱 레이어로 사용
SqlAlchemy가 백엔드 DB 접근에 사용됨
Database/Dataset
Dashboard/Chart
두개의 차트로 하나의 대시보드 생성
CREATE TABLE analytics.user_session_summary AS
SELECT usc.*, t.ts
FROM raw_data.user_session_channel usc
LEFT JOIN raw_data.session_timestamp t ON t.sessionid = usc.sessionid
session 단의 완전한 정보를 갖게 만든 테이블
이를 바탕으로 시각화를 구현할 예정.
SELECT
LEFT(ts, 7) "month",
COUNT(DISTINCT userid) mau
FROM analytics.user_session_summary
GROUP BY 1
ORDER BY 1;

이 쿼리의 결과를 다운로드 받아 mau.csv로 저장



CREATE TABLE analytics.cohort_summary as SELECT cohort_month, visited_month, cohort.userid FROM (
SELECT userid, date_trunc('month', MIN(ts)) cohort_month
FROM raw_data.user_session_channel usc
JOIN raw_data.session_timestamp t ON t.sessionid = usc.sessionid GROUP BY 1
) cohort JOIN (
SELECT DISTINCT userid, date_trunc('month', ts) visited_month FROM raw_data.user_session_channel usc
JOIN raw_data.session_timestamp t ON t.sessionid = usc.sessionid
) visit ON cohort.cohort_month <= visit.visited_month and cohort.userid = visit.userid;

SELECT
DATEDIFF(month, cohort_month, visited_month) month, cohort_month,
COUNT(userid) users
FROM analytics.cohort_summary GROUP BY 1, 2
ORDER BY 1, 2;

이 파일을 Google Spreadsheet로 로딩

이를 피봇 테이블 기능을 사용해서 시각화 수행

Superset으로 대시보드를 만듬에 있어 두가지 설치 방법이 있다.
예를 들어 MySQL을 다른 OS에서 설치하려면 다양한 변수가 존재
Docker는 특정 프로그램과 (그 프로그램을 실행하는데) 필요한 기타 소프트웨어들을 하나의 패키지로 만듬으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼
Docker Image
Docker Container

Docker는 이미 설치되어있는 상태.
git clone https://github.com/apache/superset.git
cd superset

docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
```shell
git checkout 1.4.0
```

Docker 위 Superset에서 Dataset을 먼저 import하고 다음으로 MAU 차트 생성




Datasets 클릭 후 + Dataset 클릭

위와 같이 설정 후 Create dataset and create chart 클릭

Line Chart 클릭 후 Create new chart 클릭

Chart Source 및 x-axis, time grain, metrics 설정 후 Create Chart하면 위와 같은 화면 확인 가능

채널(Facebook, Instgram, etc...)별로 보고싶을 경우 Dimensions에 channel 선택 후 Update Chart클릭 하면 채널별 그래프 확인 가능 위의 색깔 선으로 추가 및 제거 가능

Save chart눌러서 차트 저장
Cohort 차트 만들고 앞서 MAU 차트와 묶어서 대시보드 생성

위와 같이 입력 후 Create dataset and create chart 클릭

pivot table 선택

위와 같이 세팅 후 create chart하면 첫번째 테이블 생성 가능(x축이 월인)

Columns를 기준월로부터 몇달차이가 나는지로 나타내기 위해 기존 컬럼을 삭제 후 새로 생성을 누른 후 Custom SQL에서 위와 같이 입력 후 Save

그럼 위와 같은 테이블 생성 가능

Save 누룬 후 위에서 Dashboard 생성 후 Save & go to dashboard 클릭

위와 같이 대시보드 확인 가능, Edit눌러서 드래그엔 크기 조절로 수정 가능

Charts에 가 미리 만들어 놓은 MAU 차트 선택 후 KPI Dashboard에 추가 후 Save & go to dashboard클릭 하면 대시보드에 추가가 된다.

위가 최종 수정한 KPI 대시보드