일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맞춤 자바스크립트
- tableau
- Python
- 통계
- Funnel
- Ga
- It
- tablueau
- 캐글
- 후기
- sql 개발자
- DISTINCT
- 용어 정리
- 크로스셀링
- 맞춤 이벤트
- segmentation
- API
- oracle
- bigquery
- SQL
- 이벤트 매개변수
- Google Analytics
- 그로스해킹
- 데이터 분석
- pandas
- SQLD
- Kaggle
- Ecommerce
- 상관계수
- git
- Today
- Total
녕녀기의 실험일지
[ BigQuery ] SQL 쿼리문을 Looker Studio 연동하기 본문
본문으로
안녕하세요. 녀기입니다.
아...오늘은 정말
아무 것도 하고 싶지 않은 날이에요.
완전 빈둥대고 싶은데
그렇다고 너무 또 빈둥대면 그대로 정체돼 버릴까봐
BigQuery랑 Looker Studio 켜가지고
대시보드 조금씩 구현하고 있습니다.
강의 영상이랑
다른 분들의 기술을 훔쳐서(?)
저의 기술로 만들고 있는 중이지요ㅋㅋㅋㅋㅋ
BigQuery랑 연동해서는 계속 쓰고 있었는데,
Looker Studio 안에서 데이터를 가공하는 것은 불편해서
SQL문으로 가공한 뒤 불러오게 됐습니다.
될까? 안 될까? 하는 반신반의하는 마음으로 해 봤는데
성공해 가지고 살짝 놀랐어요ㅋㅋ
(원래 성공하는 건데 호들갑은~
이라고 생각하지 말아주세요.
기뻤으니까ㅋㅋ)
그래서 기록 남기려고 포스팅하는데
오늘도 잡담이 더 긴 것은 함정!
그럼 쿼리문이랑 연동한 과정 한번 올려보겠습니다!
let'go(dori)!!!!
BigQuery - Looker Studio 연동
Looker Studio '데이터' 영역에 우측 하단을 살펴보면
'데이터 추가' 영역이 있습니다.
클릭을 해 주시면,
템플릿 생성할 때 나왔던 창이 다시 출현합니다.
'BigQuery'를 클릭해 주세요.
그러면 BigQuery 프로젝트를 연결할 수 있는데,
'맟춤 검색어' 영역을 클릭 후, 연결할 프로젝트를 선택해 줍니다.
그 이후에 쿼리문을 입력할 수 있도록 쿼리 입력 영역이 나타나는데
미리 작성한 쿼리문을 입력해 줍시다.
저는 이렇게 작성했습니다.
select pct70 as scroll_70pct, pct50-pct70 as scroll_50pct, pct30-pct50 as scroll_30pct, pct25-pct30 as scroll_25pct, pct20-pct25 as scroll_20pct
from (select
count(case when param.value.int_value = 20 then param.value.int_value end) as pct20,
count(case when param.value.int_value = 25 then param.value.int_value end) as pct25,
count(case when param.value.int_value = 30 then param.value.int_value end) as pct30,
count(case when param.value.int_value = 50 then param.value.int_value end) as pct50,
count(case when param.value.int_value = 70 then param.value.int_value end) as pct70
from `본인 데이터 테이블.events_*`, unnest(event_params)
as param
where 1=1
and event_date between format_date('%Y%m%d', parse_date('%Y%m%d', @DS_START_DATE))
and format_date('%Y%m%d', parse_date('%Y%m%d', @DS_END_DATE))
and param.key = 'scroll_percent'
and event_name != 'scroll_70'
)
;
예전 GA 이벤트를 설정할 때
스크롤 이벤트를 만들고, 스크롤한 비율에 따라 매개변수를 설정했습니다.
만약 스크롤이 전체 페이지의 70%가 일어났다면,
제가 설정한 20, 25, 30, 50%의 스크롤도 같이 일어나기 때문에
한 명의 사용자가 여러 개의 스크롤 이벤트를 발생시키는 일이 생기게 됐습니다.
그렇다고 이벤트를 여러 개 생성한다면
그건 그것대로 복잡해질 수 있다고 생각합니다.
그래서 계산을 통해
최대 스크롤 이외의 스크롤 이벤트는 뺄 수 있도록 쿼리를 짰습니다.
즉, 설정한 기간 내에서 게시물마다 최대 발생한 스크롤은 어느 정도인지 확인할 수 있도록 했습니다.
BigQuery는 날짜마다 GA 이벤트를 불러오고,
'events_' 뒤에 검색하고 싶은 날짜를 입력하게 됩니다.
특정 날짜의 데이터를 읽고 싶다면 '20240101'이라고 입력하면 되지만,
기간 별로 읽을 때에는
asterisk로 전체 데이터를 전부 불러온 후( * )
where 절에 'between'을 사용해서 기간별 데이터를 불러오게 됩니다.
Looker Studio에는 데이터를 기간 별로 볼 수 있도록
'기간 컨트롤'이라는 기능을 제공하는데,
BigQuery에서 불러온 데이터가 '기간 컨트롤'에서 설정한 날짜를 입력받을 수 있도록
쿼리에 매개변수를 설정하게 됩니다.
그것이 위에 있는 '@DS_START_DATE'와 '@DS_END_DATE' 입니다.
쿼리문을 작성한 뒤
'데이터' 부분을 살피면,
BigQuery의 쿼리문과 연결된 것을 확인할 수 있습니다.
간단한 연산은 Looker Studio 내부에서 수행하면 되지만,
살짝 복잡해지는 연산은 쿼리문으로 실행하는 것이 나을 것 같네요ㅋㅋ
아무튼 잘 연동되고 원하는 데로 시각화도 할 수 있다는 것을 알았으니
자주 써먹어보도록 하겠습니다.
그럼 저는 이만 포스팅을 마칠게요.
다시 빈둥댈 예정이라(?)
다음 포스팅에서 봐요~~
'-- Data -- > - SQL -' 카테고리의 다른 글
[ Oracle ] 삼각형 분류하기 (0) | 2024.02.22 |
---|---|
[ Oracle ] NVL, LAG, LEAD, INTERVAL, ROW_NUMBER를 사용해 프로젝트 시작 날짜와 끝난 날짜 출력 (0) | 2024.02.21 |
[ BigQuery ] 카테고리별 page_view 수 확인 (0) | 2024.02.05 |
[ Oracle ] CHR()로 문자 나타내기 (0) | 2023.09.15 |
[ Oracle ] FETCH를 사용한 상위 3개 날짜 추출 (0) | 2023.08.16 |