«   2024/06   »
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
Recent Posts
Today
Total
관리 메뉴

짜리몽땅 매거진

[SQL] 코멘토 프로젝트 - 인사이트가 한 눈에 들어오는 대시보드 만들기 본문

Data/SQL

[SQL] 코멘토 프로젝트 - 인사이트가 한 눈에 들어오는 대시보드 만들기

쿡국 2024. 6. 11. 00:38

Northwind 식품업체 가상 데이터베이스를 바탕으로 현황을 분석할 수 있는 쿼리 작성 후, 간단한 시각화를 통해 대시보드를 만드는 작업을 수행했다.


1. 현황 분석하기

(1) 2분기 총 매출액

select concat(round(sum(od.quantity*od.unit_price),1),' $') as '매출액' 
from orders o
left join order_details od on o.id=od.order_id
where order_date between '2006-04-01' and '2006-06-30';

round 함수를 이용해 소수점 첫째자리까지 반올림 후, concat 함수를 통해 '$' 문자와 결합해준다.

 

(2) 상반기 월별  매출액

select substr(order_date,1,7) as '월',sum(quantity*unit_price) as '매출량'
from customers a left join orders b on a.id=customer_id left join order_details c on b.id=order_id
where substr(order_date,1,7)>="2006-01" and substr(order_date,1,7)<"2006-07"
group by substr(order_date,1,7);

substr 함수로 날짜 형식으로 된 order_date 칼럼의 값들을 1부터 7번째 자리까지만 추출하여 '월' 칼럼을 출력한다. (ex. 2024-01-01 -->2024-01)

 

(3) 카테고리별 판매량 합계

select product_id, category, sum(quantity) 판매량
from order_details
left join products on order_details.product_id = products.id
group by product_id;

 

(4) 사원별 판매량(실적)

select e.last_name, count(*) orders
from orders as o
left join order_details od on o.id=od.order_id
left join employees e on e.id=o.employee_id
where '2006-06-01'<=o.order_date and o.order_date<'2006-07-01'
group by e.last_name;

2. 쿼리 결과 시각화 및 대시보드 작성

 

Redash의 쿼리 작성 후 Visualization 기능과 저장한 시각화 차트를 Dashboard 탭에 불러오는 플로우를 통해 작성한 대시보드이다. 각 쿼리 결과에 어울리는 적합한 차트들로 구성했으며, 아직 Redash를 오랜 기간 활용하진 않았지만 내가 주로 공부하고 있는 Tableau와 비교했을 때 장단점을 비교하자면 아래와 같다.

 

<Tableau>

- 더 다양한 차트 종류를 제공한다.

- 색상 구성, 범례 구성 등 기본적인 기능에서 사용자 입맛에 맞는 수정이 더 수월하다.

- 계산된 필드, 매개 변수 등 기존 데이터에 없는 칼럼을 추가적으로 생성하고 수정할 수 있다.

- 대시보드 상에서 차트 간 연동성과 동작 기능이 잘 되어있다.

- 데이터를 Tableau 프로그램에 직접 연결해야 한다.

- Tableau 상의 다양한 기능을 활용하려면 숙련도가 필요하다.

- Tableau 내에서 직접 코드블럭이나 쿼리를 작성하여 새로운 데이터를 생성하는 것은 어렵다.

 

<Redash>

- SQL Editor와 연동되어 있어 직접 쿼리를 작성할 수 있고, SQL 언어에 최적화되어있다.

- 작성한 쿼리의 결과 테이블을 바탕으로 바로 개별 시각화가 가능하다.

- 저장한 시각화 차트를 대시보드 탭에서 추가하고 수정할 수 있다.

- 입문자도 빠르게 각 기능을 이해하고 파악할 수 있다.

- 간단한 시각화에 최적화되어있어, 고급차트 시각화는 어렵다.

- 차트 간 동작 기능이 부재해 동적인 대시보드 작성은 어렵다.

 

각 데이터와 업무별 중요도(시각화가 중요한지, 지표 추출이 더 중요한지)에 따라 더 적합한 툴을 사용하면 좋을 것 같다.