문과생의 데이터 연습

[Google BigQuery] _TABLE_SUFFIX 알아보기 본문

Google Marketing & Cloud Platform/Google BigQuery

[Google BigQuery] _TABLE_SUFFIX 알아보기

의인은 믿음으로 2023. 2. 11. 14:01
728x90

Google Bigquery를 공부하다보면 일반 SQL문과 비슷한점도 많지만(당연하지) 다른점도 은근 많은데 이것들을 하나씩 알아보려고 한다. 그중에서 오늘은 _TABLE_SUFFIX 함수이다

 

                                                                                            출발~ 

 

 

▶  _TABLE_SUFFIX 개요

테이블이 여러개 있을 때 그 테이블들을 전부 불러오거나 혹은 일부만 블러오고 싶을 때 사용한다. 

뒤에 와이드카드 *으로 모든 테이블을 한번에 불러오거나 일부만 불러올 수 있다. 

 

▶  _TABLE_SUFFIX 예시

select * 
from bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131 ;

구글 빅쿼리에서 제공하는 샘플 데이터에서 예시를 보자! 

events_20210131을 통해서 2021년 01월 31일 데이터만 뽑으라는 것을 알 수 있는데 매번 이렇게 날짜를 지정해서 하지말고 

select * 
from `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*` 
where  _TABLE_SUFFIX = '20210131' ;

이렇게 where문을 적어서  _TABLE_SUFFIX를 적어주는 것이다! 

 

▶  _TABLE_SUFFIX 응용 

응용해보자!

WITH user_DAU AS (
SELECT user_pseudo_id,CAST(TIMESTAMP_MICROS(event_timestamp) AS DATE) AS date
FROM `본인의 프로젝트 아이디.본인의 프로젝트 테이블.events_*`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 365 DAY)) 
       AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
)
      SELECT date, COUNT(DISTINCT user_pseudo_id) AS DAU
      FROM user_DAU
      GROUP BY date
      ORDER BY DAU DESC ;

이렇게 DAU를 구할 떄도 사용할 수 있다. (아니 사실 어떤 SQL문이든 다 쓸것같다)

table_suffix 함수를 잘 배워보도록하자! 

 

                                                                                            끝~ 

728x90
Comments