본문 바로가기

SQL 코딩 입문

(15)
SQL 중급: 7일차 #2 쿼리가 너무 재미있어서 윈도우 함수까지 넘어갔다. 오라클에서 처음 만들어서 Analytics Function 이라고 이름 붙였지만지금은 구글 빅쿼리를 포함해서 대표적으로 Window 함수라고 불린다고 한다. 사실상 이름만 다르고 같은 기능이라고 보면 된다.  윈도우 함수로 무엇을 알 수 있을까?  서비스에서는 "리텐션"이 중요한데A 유저는 3일 동안 연속해서 접속했고, B 유저는 오늘 들어왔다가 3일 후에 들어왔을지 여부를 구분해서 알 수 있다. 함수를 통해 B 유저와 같이 3일 동안 이탈했다가 접속하는 유저군이 많이 포착된다고 하면,왜 이러한 행동이 패턴으로 나타나는 것일까? 등을 고민해서 서비스 개선 포인트로 적용할 수 있다. 또한 서비스에서 신규, 복귀 유저를 구분하는 것도 중요한데왜냐하면 새로 온..
SQL 중급: 7일차 구글 BigQuery 작성하여 추출해 둔 데이터를구글 스프레드시트로 연결하는 방법은 무엇일까? 쿼리 결과가 나온 화면에서 우측 상단에 선택Sheets로 탐색을 누르면 구글 스프레드시트로 추출해 둔 데이터가 넘어간다. 그렇다면 왜 구글 BigQuery로 데이터를 정제한 후구글 스프레드시트에 연결해서 시각화를 할까?  크게 2가지 이유가 있는 것 같다. 1. 구글 스프레드시트도 엑셀처럼 10만행까지만 확인 가능하기 때문에,수백만 개의 데이터행 중에서 원하는 기간/조건을 가진 데이터만 BigQuery로 정제해서 추출하고구글 스프레드시트로 넘어가는 것이다. 2. 구글 스프레드시트가 엑셀과 다름없이 때문에, 추가적으로 피벗테이블을 만들고 시각화하기 쉽다.  쿼리를 반복 수행할 수 있도록 설정하는 방법은 무엇인가..
SQL 중급: 6일차 퍼널 분석에 들어가기 전, 퍼널이란 무엇인가? 퍼널은 유저가 앱/웹에 진입해서 활동하는 이벤트를 모은 로그이고나는 지금 SQL을 통해 퍼널 분석을 하고 있다. 퍼널 분석을 통해 얻고자 하는 것은유저가 어느 구간에서 많이 이탈했는지 파악하고 개선점을 도출해서, 결과적으로는 비즈니스를 개선하는 것이다. 그렇다면 분석 기준점이 되는 것은 '유저'이므로가장 중요한 것은 '어떻게 유저를 구별해서 집계할 것인지'이다. 유저를 식별하는 방법  유저가 회원 가입을 하면 당연히 user_id가 생성되지만비로그인으로 앱/웹을 사용할 수 있는 경우가 애매하다. 이러한 경우 앱에서는 device_id를 기록하기 때문에 이것을 기준점으로 삼기도 하지만앱을 설치한 후 명시적으로 해당 정보를 수집할 것인지에 대한 동의를 받아야 하..
SQL 중급: 5일차 데이터를 PIVOT을 해봅시다.엑셀에서 피벗 테이블은 많이 들어봤는데, SQL에서는 어떻게 피벗할 수 있을까?  BigQuery (SQL) 에서 PIVOT 하는 방법은 무엇인가?  결론적으로 SELECT 쪽에 MAX(IF( 내용을 작성합니다 )) 작성하고GROUP BY 잘 해주면 된다. 그림으로 표현하자면 다음과 같다.왼쪽 데이터를 오른쪽과 같이 만드는 것이다.   왼쪽오른쪽 왜 이렇게 PIVOT 하는 것일까?  3가지 이유가 있는데1) 성능, 2) 쉬운 사용, 3) 시각적 그래프 만들기 쉽기 때문이다. 1) 성능왼쪽은 데이터 행이 9개이지만, 오른쪽으로 피벗해서 행이 3개가 되었다.1/3 수준으로 데이터가 줄어들었기 때문에, BigQuery가 읽어오기에 훨씬 빨라진다고 한다. 지금은 데이터 개수가 적어..
SQL 중급: 4일차 강의를 들으려는데 구글 빅쿼리에서 데이터 세트 미리보기가 안 되어서 해결 방법을 정리했다.기본으로 돌아가서 구글 빅쿼리 프로젝트 생성 방법부터 차근히 정리해본다.  1. 구글 빅쿼리 시작하기https://console.cloud.google.com/bigquery Google 클라우드 플랫폼로그인 Google 클라우드 플랫폼으로 이동accounts.google.com 링크로 들어가서 간단하게 약관 동의를 하고 가입하면 아래와 같은 화면이 뜹니다.오른쪽에 프로젝트 만들기를 누릅니다.  새 프로젝트를 생성하려면 뭘 많이 입력하라고 하는데, 그냥 두고 만들기 누르면 됩니다. 그럼 아래처럼 프로젝트가 만들어지는데, 오른쪽 점 세개 버튼을 클릭해서데이터 세트를 만들거나 프로젝트에 업로드 버튼으로 시작할 수 있다...
SQL 중급: 3일차 2일차에 이어서 ARRAY, STRUCT를 평면화하는 쿼리 연습 문제를 풀어봅시다.https://www.inflearn.com/course/bigquery-%ED%99%9C%EC%9A%A9%ED%8E%B8/dashboard BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석) 강의 | 카일스쿨 - 인프런카일스쿨 | Google Analytics 4, Firebase 데이터의 형태의 앱 로그 분석을 진행합니다. 배열, 윈도우 함수, 퍼널, 리텐션, Google Sheets 등 실무에서 사용할 때 유용한 내용들을 담았습니다., Google Analytics 4,www.inflearn.com 시작하기 전에, 어제 2 1 3 순서로 저장되었던 id 값을 1 2 3 순서로 바꾸기 위해 아래 쿼리를 날려준다...
SQL 중급: 2일차 교재https://www.inflearn.com/course/bigquery-%ED%99%9C%EC%9A%A9%ED%8E%B8/dashboard BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석) 강의 | 카일스쿨 - 인프런카일스쿨 | Google Analytics 4, Firebase 데이터의 형태의 앱 로그 분석을 진행합니다. 배열, 윈도우 함수, 퍼널, 리텐션, Google Sheets 등 실무에서 사용할 때 유용한 내용들을 담았습니다., Google Analytics 4,www.inflearn.com 한달만에 돌아와서, 1일차 내용을 복습하고 시작. 정리해두길 잘했다.오늘은 연습 문제를 풀면서 UNNEST 방법과 구조체에 대한 이해를 높여보자. https://console.cloud.goo..
SQL 중급: 다시 1일차 교재https://www.inflearn.com/course/bigquery-%ED%99%9C%EC%9A%A9%ED%8E%B8/dashboard BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석) 강의 | 카일스쿨 - 인프런카일스쿨 | Google Analytics 4, Firebase 데이터의 형태의 앱 로그 분석을 진행합니다. 배열, 윈도우 함수, 퍼널, 리텐션, Google Sheets 등 실무에서 사용할 때 유용한 내용들을 담았습니다., Google Analytics 4,www.inflearn.com 1. 입문편 복습쿼리로 일을 한다는 것은 무엇일까 1) 업무를 할당 받았을 때 2) 목표가 무엇인지 파악하고 3) 알맞은 데이터가 있을지 탐색해서 4) 추출하고 5) 검증해서 6) 활용하는 것..