Warren's blog

Product Analysis, Growth

루커스튜디오와 빅쿼리 프로젝트 연결 화면

루커스튜디오(Looker Studio)에서 PARSE_DATE로 동적 날짜 범위 리포트 생성하기 (with Bigquery, GA4)

지난 포스트에서는 Google Analytics 4(GA4)에서 빅쿼리(Bigquery)로 전송하는 ‘events_’ 테이블을 여러 날짜에 걸친 멀티 쿼리 하는 방법에 대해 설명했습니다. 이번 포스팅을 통해 루커스튜디오(Looker Studio)로 연동하는 데이터 역시 여러 일자를 쿼리하는 것이 전제조건입니다. 따라서 아래 포스트 내용을 이해하고 진행한다면 좋겠습니다.

Bigquery 에 쌓이는 Google Analytics 4(GA4) ‘events_’ 테이블을 쿼리를 통해 분석을 수행하면서 어느정도 정형화 되었다고 판단 되었을 때. 특정(정적) 기간이 아닌 동적기간으로 자동화된 리포트를 만들고 싶은 때가 있습니다. 이 글에서는 루커스튜디오(Looker Studio)에서 빅쿼리(Bigquery)를 사용하여 동적 날짜 범위 리포트를 생성하는 방법을 다룹니다. 루커스튜디오(Looker Studio)에서는 PARSE_DATE 함수와 @DS_START_DATE, @DS_END_DATE 변수를 사용하여 쉽게 동적 날짜 범위를 설정할 수 있습니다.

PARSE_DATE 함수

루커스튜디오(Looker studio)에서는 빅쿼리(Bigquery)와 함께 사용될 수 있는 PARSE_DATE 함수를 제공합니다. 이 함수는 문자열로 표현된 날짜를 Date 형식으로 변환 합니다.

다음은 PARSE_DATE 함수를 사용하여 문자열 날짜를 루커스튜디오에서 사용할 수 있는 날짜 형식으로 변환하는 방법입니다.

PARSE_DATE(format_string, date_string)

Google Cloud 날짜 함수 문서에 따르면 format_string 에 있는 각 요소의 위치는 date_string 에 있는 각 요소의 위치와 일치해야 한다고 합니다.

-- This works because elements on both sides match
SELECT PARSE_DATE('%A %b %e %Y', 'Thursday Dec 25 2008')

-- This doesn't work because the year element is in different locations.
SELECT PARSE_DATE('%Y %A %b %e', 'Thursday Dec 25 2008')

-- This doesn't work because one of the year elements is missing.
SELECT PARSE_DATE('%A %b %e', 'Thursday Dec 25 2008')

-- This works because %F can find all matching elements in date_string.
SELECT PARSE_DATE('%F', '2000-12-30')

참고 : https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions?hl=ko#parse_date

@DS_START_DATE와 @DS_END_DATE 매개변수

루커스튜디오 리포트를 구성할 때 빅쿼리 데이터 베이스에 설정된 기본 날짜 범위 변수인 @DS_START_DATE@DS_END_DATE 를 사용할 수 있습니다. 이 변수는 루커스튜디오에서 쿼리를 실행할 때, 동적으로 업데이트 되는 리포트 또는 대시보드를 만드는 데 유용합니다.

다음은 실제로 빅쿼리에 쌓이는 구글애널리틱스4 데이터를 루커스튜디오 리포트에 연동하면서 사용했던 쿼리의 일부를 예시로 나타낸 것입니다.

SELECT
    column_1,
    column_2,
    column_3	
FROM
    `warrensproject.analysis_000000000.events_*`
WHERE
    _TABLE_SUFFIX 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))

위와 같이 WHERE 문에서 PARSE_DATE, @DS_START_DATE, @DS_END_DATE를 사용해 루커스튜디오에서 기간 컨트롤에 따라 지정하는 날짜 범위에 맞게 동적으로 업데이트 되는 리포트를 생성할 수 있습니다.

여기서 한 가지 더 주목해야 하는 것은 events_ 데이터 세트에 일별로 쌓이는 테이블을 함께 지정해줘야 한다는 것입니다. 여러 일자를 쿼리하는 _TABLE_SUFFIX 함수를 사용하면 됩니다. 이에 대해 더 자세하게 알고싶다면 위에 첨부한 지난 포스트를 참고해보세요.

이제 루커스튜디오 화면으로 이동해서 GA4를 통해 Bigquery로 쌓아둔 ‘event_’ 테이블의 동적 기간 리포트를 만들어봅시다.
  1. 루커스튜디오 https://lookerstudio.google.com/ (새탭) 로 이동합니다.
  2. ‘빈 보고서’를 클릭합니다.
  3. ‘보고서에 데이터 추가’ 라는 팝업이 나오면 Bigquery를 선택합니다.
  4. 아래와 같이 프로젝트를 선택하거나, 맞춤 검색어, 공개 데이터 집합 등의 메뉴가 나타나는데 우리는 맞춤 검색어를 선택합니다.
  5. GA4 데이터가 있는 프로젝트를 선택하고, 쿼리를 통해 필요한 데이터를 추가합니다.
  6. 하단에 ‘기간 매개변수 사용 설정’ 박스에 체크 표시 합니다.
    루커스튜디오와 빅쿼리 프로젝트 연결 화면
  7. 하단에 ‘추가’ 버튼을 누르면 아래와 같은 창이 나오는데 ‘보고서에 추가’ 버튼을 클릭합니다.
    루커 스튜디오 보고서 추가

이제 GA4를 통해 빅쿼리로 쌓았던 ‘events_’ 테이블의 데이터 중 위 5~6번에서 수행한 데이터들이 루커스튜디오 리포트에 추가되었습니다.

PARSE_DATE 와 함께 @DS_START_DATE, @DS_END_DATE를 사용했기 때문에 루커스튜디오에서 기간 컨트롤에 따라 선택한 기간별로 데이터를 동적으로 확인할 수 있습니다.

루커 스튜디오 메뉴 화면

루커스튜디오 메뉴에서 ‘컨트롤 추가’를 클릭하고 ‘기간 컨트롤’ 항목을 선택합니다. 추가로 확인하고 싶은 데이터(위 5~6에서 선택한 데이터)를 자유롭게 추가할 수 있습니다. 이 포스트에서는 예시로 몇 가지만 넣어봅니다.

이제 위와 같이 기간에 따라 이벤트 및 확인하고 싶은 데이터를 루커스튜디오 리포트에서 동적으로 확인할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다