본과정 1주차 첫째 날로, 온보딩 주차 시작이다. 이번 주에는 일주일 동안 미니 프로젝트를 진행할 예정이다.
팀 프로젝트
- 우리 팀은 데이터 분석 개요와 배경이 제시된 주제를 선택했다.
- 분석할 데이터와 배경, 목표, 가설까지 설정된 다른 주제보다 난이도가 있는 편이다.
- 문제 설정(낮은 Profit에 대한 개선)이 끝났고, 가설 설정과 분석이 남았다.
- DBeaver 사용하여 분석 진행할 예정. 분석 환경 세팅에 시간이 다소 걸렸다.
- CSV 파일로 제시된 데이터를 import는 정상적으로 완료했으나, 데이터 형변환이 되지 않는 오류가 발생하여 지연
- MySQL Localhost 서버를 생성하여 파일을 불러오는 방법으로 해결
학습 내용
데이터 형변환?
- 데이터를 한 형식에서 다른 형식으로 전환하는 것. ex. 문자열 데이터를 정수로 변환하는 것
- 데이터의 일관성 유지, 연산에 필요해서, 데이터 타입의 호환 등의 이유로 시행
중복 없이 개수를 셀 때(MySQL)
SQL select Category, `Sub-Category`, count(distinct `Product Name`) from us group by 1, 2 order by 1, 2 -- 구매 데이터이므로 Product Name에 중복이 있을 것으로 예상되어 중복 없이 count 하도록 쿼리를 작성했다. distinct 활용
STR 데이터를 DATE 로 데이터 형변환 시 사용하는 함수 : STR_TO_DATE(MySQL)
* 서브쿼리로 작성해서 실행했지만, 내일 이 쿼리 자체를 조금 더 개선해보면 좋을 것 같다.
SQL select month(order_date) "월", round(sum(Sales),0) "매출합계", round(sum(Profit),0) "이익합계", ROUND(sum(Profit)/sum(Sales)*100,1) as "이익율", round(avg(Profit),0) "이익평균" FROM ( select STR_TO_DATE(`Order Date`, '%d-%m-%y') order_date, Sales, Quantity, Profit, Discount from us ) a group by 1 order by 1, 2 desc
고찰 & 기타
- 같은 공간에서 프로젝트를 진행하는 것이 아니다보니(원격으로 진행하다보니), 서로 분석 환경에 있어 약간의 차이가 발생했다.
- 테이블 명이 다른 것, 컬럼명이 다른 것, 순서가 다른 것 등
- 팀으로 협업하기 위해서는 공통적으로 공유하는 '원칙'이 필요하다. 이 부분을 내일 논의할 필요가 있다...
- 여러 명이 한 팀으로 분석을 진행할 때의 역할 분담은 어떻게 하는 것이 효율적일까?
- 문제를 인식하고, 가설을 세우고, 각자의 기술을 사용해 분석하고, 시각화하여, 의사결정 관련자들에게 공유하기까지
전체 과정에서 하드스킬 뿐 아니라 소프트스킬의 중요성이 정말 크다는 것을 새삼 느꼈다.
- 문제를 인식하고, 가설을 세우고, 각자의 기술을 사용해 분석하고, 시각화하여, 의사결정 관련자들에게 공유하기까지
- 차트 등 시각화 할 때 주로 엑셀만 써봤는데, 지금 엑셀이 안 돼서 조금 곤란하다. 따로 태블로를 먼저 배워야 할까?
- 우리 팀 최종 발표를 맡게 되었다. 관련 있는 분야의 데이터셋이라 발표자가 내심 하고 싶었는데 잘됐다. :)
'내일배움캠프_데이터분석_2기 > TIL' 카테고리의 다른 글
[TIL] camp_day3_240417 (0) | 2024.04.17 |
---|---|
[TIL] camp_day2_240416 (0) | 2024.04.16 |
[TIL] precamp_day8_240327 (0) | 2024.03.27 |
[TIL] precamp_day7 (0) | 2024.03.26 |
[TIL] precamp_day4 (0) | 2024.03.21 |