set에 대응되는 다섯 개의 사용자 입력 파라미터 입력한 후, 쿼리를 실행하면 수치를 확인할 수 있습니다.
사용자 입력 파라미터
yyyymmdd_1 : 조회 시작 날짜(YYYY-MM-DD)
yyyymmdd_2 : 조회 마지막 날짜(YYYY-MM-DD)
timezone_offset : 타임존 설정( UTC 기준 시각 오프셋 - KST의 경우 9 )
comapny_index : 회사 번호
Bigquery > 왼쪽 상단의 탐색기 > fluted-airline-109810 하위의 데이터셋(analytics_회사번호_live)에서 확인 가능
appIdGroup_1: 앱센터 등록 GameID
두 개 이상 입력 시, set appIdGroup_1 = '"game1","game2"';
쿼리 결과
appIdGroup : 앱센터 등록 GameID
yyyymmdd_period : 조회 기간
au : 활성 유저 수
nu : 신규 유저 수
nu_rate : AU 대비 NU 비율
( nu / au ) * 100
샘플 쿼리
declareyyyymmdd_1string;declareyyyymmdd_2string;declaretimezone_offsetint64;declareappIdGroup_1string;declarecompany_indexint64;declaredatasetstringdefault'';declarequerystringdefault'';setyyyymmdd_1='2023-07-01';setyyyymmdd_2='2023-07-08';settimezone_offset=9;setcompany_index=5;setappIdGroup_1='"com.sample.samplegametest"';setdataset='analytics_'||company_index||'_live';setquery=format("""with login_log as (select appIdGroup, ifnull(playerId, vid) as playerId, newuserfrom `fluted-airline-109810.%s.t_hive_login_log`where datetime >= timestamp_sub(timestamp('%s'), interval %d hour)and datetime < timestamp_add(timestamp_sub(timestamp('%s'), interval %d hour), INTERVAL 1 day)and appIdGroup in (%s)and ifnull(playerId, vid) <> 0qualify row_number()over(partition by checksum order by bigqueryRegistTimestamp desc) = 1)select appIdGroup, concat('%s',' ~ ','%s') as yyyymmdd_period, count(distinct playerId) as au,count(distinct case when newUser='Y' then playerId end) as nu,round(safe_divide( count(distinct case when newUser='Y' then playerId end ),count(distinct playerId))*100,2) as nu_ratefrom login_loggroup by appIdGroup,yyyymmdd_periodorder by appIdGroup""",dataset,yyyymmdd_1,timezone_offset,yyyymmdd_2,timezone_offset,appIdGroup_1,yyyymmdd_1,yyyymmdd_2);EXECUTEIMMEDIATEquery;