- 1주차 세번째 날. 프로젝트 결론도 냈고, PPT 작업도 어느 정도 진행되었다. 이제 내일 수정하고, 발표영상 촬영하면 끝이다.
팀 프로젝트
* 어제는 거의 손도 못 댔는데, 오늘은 조금이나마 분석 결과다운 결과를 낼 수 있었다.
* 다른 팀원들이 너무 잘 해서 따라가기 벅찼는데, 갑자기 쿼리 하나가 잘 풀려서 결과를 운 좋게 얻었다.
* 역시 결과 정리가 제일 어렵고 손이 많이 간다.
시각화 툴은 도무지 시간 내에 배워서 완성할 수 없을 것 같아서 어쩔 수 없이 제일 만만한 구글 스프레드 시트를 활용했다.
차트로 구현할 수 있는 한계가 있어서 차라리 엑셀 쓰고 싶었는데... 이러다 office 365 구독하는 거 아닌가.
그래도 엑셀에 의존하지 않고 하는 법을 배우려고 부트캠프에 온 것도 있으니까. 시간날 때 틈틈히 공부해야겠다.
학습 내용
* ROLLUP 함수(SQL)
* 엑셀 피벗테이블에서 부분합을 구할 수 있는 것처럼, SQL으로도 구현할 수 있을지 찾아보다가 알게된 함수다.
* GROUP BY 로 집계한 그룹과, 전체에 대한 부분합을 구할 수 있다.
* 다만 집계된 소그룹에 이름을 부여하는 부분까지는 익히지 못했다... GROUPING 함수를 쓰면 된다는데 오류가 나서 거기까진 못했다.
```
SQL
SELECT DISTINCT Sub_Category
,sum(Profit) sum_profit
,count(DISTINCT Product_ID) AS total_product_num
FROM us
WHERE discount <> 0
GROUP BY 1 WITH ROLLUP
```
* CROSS JOIN
* 특정 값에 대해 전체 합계를 구해 그 비중을 계산하고 싶어서 GPT랑 대화 끝에 알아낸 JOIN
* 아직 내가 쓰는 쿼리문으로는 오류가 잦아서, 나중에 다시 연습할 필요가 있다.
```
SQL
SELECT Category,
Sub_Category,
IF(Discount = 0,'regular','discount') sales_type,
ROUND(SUM(Sales) / total_sales * 100, 2) AS sales_percentage,
ROUND(sum(Profit)/sum(Sales) * 100, 2) AS Profit_rate,
round(sum(quantity),0) AS sum_quantity
FROM us
CROSS JOIN (
SELECT SUM(Sales) AS total_sales FROM us
) AS total
GROUP BY 1, 2, 3, total.total_sales
ORDER BY 1, 2, 3 DESC ;
```
고찰 & 기타
* Canva를 처음 써봤다. 작업을 온라인에서 공유하면서 PPT를 만들 수 있다니! OT 때 TOME 이라는 플랫폼도 있다고 하셨다.
* 팀으로 데이터분석을 한다면 1.모두가 하나의 가설에 대해 검증한다 2.각자 다른 가설을 테스트한다. 둘 중에 어떻게 진행될까? 궁금