[데이터 분석을 위한 SQL 레시피] Day 5

신두다·2022년 8월 3일
0

NOTE

  • 이 시리즈는 『데이터 분석을 위한 SQL 레시피』 가사키 나가토, 다미야 나오토 저. 한빛미디어를 통해 공부하는 내용을 저의 언어로 기록해두기 위해 만들어졌습니다.

진짜 오랜만이다! 역시.. 인생은 다 계획대로 될리가 없다.
딥러닝 섹션에서 뚜들겨 맞으면서 물리적으로나 정신적으로나 짬이 안 났다. 스트레스 해소는 무슨! 반성 반성.. 너무 오래 안 한게 부끄러웠지만 계속 안 할 수는 없으니 눈 딱 감고 다시 시작해본다.

  • 실습은 출판사에서 제공된 샘플 데이터(.sql)를 가져와 Dbeaver에서 SQlite로 해보았다.

[3장] 데이터 가공을 위한 SQL

  • 일부 데이터는 원래 분석 용도가 아니어서 분석에 활용하기 어려운 경우가 있는데, 데이터를 가공해서 분석하기 쉽게 유지해두는 것도 데이터 엔지니어의 역할이라고 할 수 있다고 함. 이런 맥락에서 3장의 흐름을 생각해두면 될 것 같다.

[5강] 하나의 값 조작하기

[코드 값을 레이블로 변경하기]

  • 데이터를 저장할 때 카테고리를 숫자에 대응시켜서 숫자로 저장하는 경우가 있는데, 이런 경우 분석 시 한 눈에 뭐가 뭔지 알기 어려운 경우가 있다. 그런 의미에서 코드 값을 레이블로 변경한다~고 말하는 것으로 이해하면 된다.
    • 비유하자면 LabelEncoder되어 있는거 되돌리기.

CASE WHEN을 사용하면 된다.

  • register_divice는 1-데스크톱, 2-스마트폰, 3-애플리케이션!으로 되어있다고 가정.
SELECT 
	user_id,
	CASE 
		WHEN register_device = 1 THEN '데스크톱'
		WHEN register_device = 2 THEN '스마트폰'
		WHEN register_device = 3 THEN '에플리케이션'
	END AS device_name
FROM mst_users mu ;

  • 참고로 디폴트 값을 지정하고 싶으면 Else 구문을 쓰면 된다.
SELECT 
	user_id,
	CASE 
		WHEN register_device = 1 THEN '데스크톱'
		WHEN register_device = 2 THEN '스마트폰'
		ELSE 'default'
	END AS device_name
FROM mst_users mu ;


[URL에서 요소 추출하기]

  • 원래 데이터 형태는 다음과 같다.
  • 서비스 런칭 때 일단 최소한의 요건으로 레퍼러와 페이지 URL을 저장해두는 경우가 있으며 이후에 저장한 URL을 기반으로 요소들을 추출한다고 한다.
    • 레퍼러가 뭐지?
      • 어느 페이지를 거쳐 넘어왔는지 알려주는 정보 정도로 이해하면 될 것 같다. 예를 들어 내가 구글에 검색을 하고, 검색 페이지 중 블로그 하나에 들어갔다고 해보자. 그럼 해당 블로그 입장에서 리퍼러는 구글 검색페이지가 된다.
      • 이 블로그 글을 참고해도 된다.
  • 즉, 어떤 상황일지 상상해보자면.. 어떤 사이트에서 우리 사이트로 가장 많이 넘어오지?가 궁금할 때 이런 리퍼러 데이터 등에서 필요한 정보만 뽑아서 보겠다 정도?

여기서 정규표현식이 들어간다.

  • 정규표현식 사용하는 건 sql마다 다 다르네; 책에서는 MySQL 기준으로는 안 나와있어서 내일 이어서 더 찾아보고 짧게나마 정리해봐야겠다. 지금 찾아보기까지 하면 너무 오래 걸릴 것 같다.

--

  • 적은거 다시 보니 별거 없는데 왜 40분이나 지난거지;
profile
B2B SaaS 회사에서 Data Analyst로 일하고 있습니다.

0개의 댓글