ดึงตัวชี้วัดใน bigQuery
ดึงตัวชี้วัดใน BigQuery¶
- คุณสามารถตรวจสอบคู่มือการใช้งาน BigQuery เบื้องต้น ที่นี่.
- หลังจากกรอกพารามิเตอร์การป้อนข้อมูลของผู้ใช้และดำเนินการตามคำสั่งตัวอย่างที่ตรงกับแต่ละตัวชี้วัด คุณสามารถตรวจสอบค่าตัวเลขของตัวชี้วัดได้
- โดยการเชื่อมต่อผลลัพธ์ของคำสั่งกับสเปรดชีต ฟังก์ชันแผนภูมิสามารถใช้เพื่อแสดงภาพตัวชี้วัด
สัดส่วน AU, NU, NU สะสม¶
- สัดส่วน AU, NU, และ NU ต่อ AU ในช่วงเวลาการค้นหา
- หลังจากป้อนพารามิเตอร์การป้อนข้อมูลของผู้ใช้ห้ารายการที่ตรงกับชุดแล้ว คำค้นสามารถดำเนินการได้เพื่อตรวจสอบตัวเลข
- พารามิเตอร์การป้อนข้อมูลของผู้ใช้
- yyyymmdd_1 : วันที่เริ่มค้นหา (YYYY-MM-DD)
- yyyymmdd_2 : วันที่สิ้นสุดการค้นหา (YYYY-MM-DD)
- timezone_offset : การตั้งค่าเขตเวลา (การเลื่อนเวลาตาม UTC – 9 สำหรับ KST)
- comapny_index : หมายเลขบริษัท
- Bigquery > explorer ที่มุมซ้ายบน > dataset (analytics_company number_live) ภายใต้ fluted-airline-109810
- appIdGroup_1: GameID ที่ลงทะเบียนใน App Center
- เมื่อป้อนสองรายการขึ้นไป,
set appidGroup_1 = '"game1","game2"';
- เมื่อป้อนสองรายการขึ้นไป,
- ผลลัพธ์ของคำค้น
- appIdGroup : GameID ที่ลงทะเบียนใน App Center
- yyyymmdd_period : ช่วงเวลาการค้นหา
- au : จำนวนผู้ใช้ที่ใช้งานอยู่
- nu : จำนวนผู้ใช้ใหม่
- nu_rate : สัดส่วน NU ต่อ AU
- ( nu / au ) * 100
- ตัวอย่าง
- พารามิเตอร์การป้อนข้อมูลของผู้ใช้
declare yyyymmdd_1 string ;
declare yyyymmdd_2 string ;
declare timezone_offset int64;
declare appIdGroup_1 string;
declare company_index int64;
declare dataset string default '';
declare query string default '';
set yyyymmdd_1 = '2023-07-01';
set yyyymmdd_2 = '2023-07-08';
set timezone_offset = 9 ;
set company_index = 5 ;
set appIdGroup_1 = '"com.sample.samplegametest"' ;
set dataset = 'analytics_' || company_index || '_live';
set query = format("""
with login_log as (
select appIdGroup, ifnull(playerId, vid) as playerId, newuser
from `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) <> 0
qualify 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_rate
from login_log
group by appIdGroup,yyyymmdd_period
order by appIdGroup
""",
dataset, yyyymmdd_1, timezone_offset, yyyymmdd_2, timezone_offset, appIdGroup_1, yyyymmdd_1, yyyymmdd_2);
EXECUTE IMMEDIATE query;
ความเหนียว¶
- อัตราส่วนของ DAU เฉลี่ยรายวันต่อ AU เฉลี่ยในช่วงเวลาการค้นหา
- หน้านี้ มีคำอธิบายที่ครอบคลุมเกี่ยวกับการยึดติด
-
หลังจากกรอกพารามิเตอร์การป้อนข้อมูลของผู้ใช้ห้าตัวที่ตรงกับชุดแล้ว สามารถดำเนินการค้นหาเพื่อตรวจสอบตัวเลขได้ _ พารามิเตอร์การป้อนข้อมูลของผู้ใช้ _ yyyymmdd*1 : วันที่เริ่มต้นการค้นหา (YYYY-MM-DD)
- yyyymmdd*2 : วันที่สิ้นสุดการค้นหา (YYYY-MM-DD)
- timezone*offset : การตั้งค่าเขตเวลา (การเลื่อนเวลาตาม UTC – 9 สำหรับ KST)
- comapny*index : หมายเลขบริษัท
- Bigquery > explorer ที่มุมซ้ายบน > dataset (analytics*หมายเลขบริษัท_live) ภายใต้ fluted-airline-109810
- appIdGroup*1: GameID ที่ลงทะเบียนใน App Center
- เมื่อป้อนสองตัวขึ้นไป
set appidGroup_1 = '"game1","game2"';
_ ผลลัพธ์การค้นหา _ appIdGroup : GameID ที่ลงทะเบียนใน App Center _ yyyymmdd_period : ช่วงเวลาการค้นหา _ avg*dau : DAU เฉลี่ยรายวัน - au : จำนวนผู้ใช้ที่ใช้งาน _ stickiness : การยึดติด _ ( avg*dau / au ) * 100
-
ตัวอย่างคำถาม
declare yyyymmdd_1 string ;
declare yyyymmdd_2 string ;
declare timezone_offset int64;
declare appIdGroup_1 string;
declare company_index int64;
declare dataset string default '';
declare query string default '';
set yyyymmdd_1 = '2023-07-01';
set yyyymmdd_2 = '2023-07-31';
set timezone_offset = 9 ;
set company_index = 5 ;
set appIdGroup_1 = '"com.sample.samplegametest"' ;
set dataset = 'analytics_' || company_index || '_live';
set query = format("""
with login_log as (
select appIdGroup, datetime, substr(cast(timestamp_add(dateTime, interval %d hour) as string), 1,10) as yyyymmdd, ifnull(playerId, vid) as playerId
from `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) <> 0
qualify row_number()over(partition by checksum order by bigqueryRegistTimestamp desc) = 1
)
select appIdGroup, concat('%s', ' ~ ', '%s') as yyyymmdd_period, round(avg_dau,2) as avg_dau, au, ifnull(round(safe_divide(avg_dau, au)*100, 2), 0) as stickiness
from
(
select appIdGroup, au, avg(dau) as avg_dau
from
(
select appIdGroup, yyyymmdd, count(distinct playerId) over(partition by appIdGroup, yyyymmdd ) as dau,count(distinct playerId) over(partition by appIdGroup) as au
from login_log
)
group by appIdGroup, au
)
""",
timezone_offset, dataset, yyyymmdd_1, timezone_offset, yyyymmdd_2, timezone_offset, appIdGroup_1, yyyymmdd_1, yyyymmdd_2);
EXECUTE IMMEDIATE query;