551 lines
20 KiB
SQL
551 lines
20 KiB
SQL
CREATE TABLE datasci.ads_996eco_index_channel_m (
|
|
index_type text,
|
|
data_month text,
|
|
re_channel text,
|
|
pay_cnt bigint,
|
|
pay_amount bigint,
|
|
pay_amount bigint,
|
|
mau bigint,
|
|
device_type text,
|
|
device_type_new text,
|
|
act_num bigint,
|
|
reg_count bigint,
|
|
|
|
);
|
|
|
|
|
|
DELETE FROM datasci.ads_996eco_index_channel_m WHERE ds = '${month}';
|
|
|
|
|
|
--付费人数和金额
|
|
--月付费人数和金额
|
|
WITH ga AS (
|
|
SELECT
|
|
id,
|
|
name
|
|
FROM public.gm_apply
|
|
WHERE bind_type = 1 AND bind_game_type = 1
|
|
)
|
|
,
|
|
po AS (
|
|
SELECT
|
|
appid,
|
|
ds::date ds,
|
|
user_id,
|
|
case when channel~*'996box' then '盒子'
|
|
when channel~'ai6' then 'ai6'
|
|
when channel~'玩心' then '玩心'
|
|
when channel~'应用宝' then '腾讯应用宝'
|
|
when channel~'纸片' then '纸片'
|
|
when channel~'团团' then '团团'
|
|
when channel~'335玩' then '335玩'
|
|
when channel~'朋克' then '朋克'
|
|
when channel~'安徽追游' then '安徽追游'
|
|
when channel~'冰火' then '冰火'
|
|
when channel~'心乐' then '心乐'
|
|
when channel ~*'华为|vivo|oppo|魅族|努比亚|联想|酷派' then '硬核联盟'
|
|
when channel~'9377' then '9377'
|
|
when channel~'智灵' then '智灵'
|
|
when channel~'掌游' then '掌游'
|
|
when channel~'上士' then '上士'
|
|
when channel~'攒趣' then '攒趣'
|
|
when channel~'掌玩' then '掌玩'
|
|
when channel~'贪玩' then '贪玩'
|
|
when channel~*'wx|微信' then '微信'
|
|
when channel~'公众号' then '公众号'
|
|
when channel~*'qq' then 'QQ'
|
|
when channel~'七牛' then '七牛'
|
|
when channel~'霸气' then '霸气'
|
|
when channel~*'xy' then 'XY'
|
|
when channel~'芝麻互娱' then '芝麻互娱'
|
|
when channel~'龙翔' then '龙翔'
|
|
when channel~'布咕' then '布咕'
|
|
when channel~'小柠互娱' then '小柠互娱'
|
|
when channel~'春秋玩' then '春秋玩'
|
|
when channel~'欢喜时代' then '欢喜时代'
|
|
when channel~'上游' then '上游'
|
|
when channel~'倾程' then '倾程'
|
|
when channel~'绿洲' then '绿洲'
|
|
when channel~'雷电' then '雷电'
|
|
when channel~'点点' then '点点'
|
|
when channel~'小七' then '小七'
|
|
when channel~'瓜玩' then '瓜玩'
|
|
when channel~'艺云' then '艺云'
|
|
when channel~'冠游' then '冠游'
|
|
when channel~'玄藏' then '玄藏'
|
|
when channel~'羽龙' then '羽龙'
|
|
when channel~'星云' then '星云'
|
|
when channel~'爱尚游' then '爱尚游'
|
|
when channel~'昊玩' then '昊玩'
|
|
when channel~'8酷' then '8酷'
|
|
when channel~'迅玩' then '迅玩'
|
|
when channel~'星游' then '星游'
|
|
when channel~'小米' then '小米'
|
|
when channel~'趣城' then '趣城'
|
|
when channel~'诺游' then '诺游'
|
|
when channel~'洛谷' then '洛谷'
|
|
when channel~'司墨' then '司墨'
|
|
when channel~'脚印' then '脚印'
|
|
when channel~'神游' then '神游'
|
|
when channel~'拓乐' then '拓乐'
|
|
when channel~'360' then '360'
|
|
when channel~'日昇' then '日昇'
|
|
when channel~'触点' then '触点'
|
|
when channel~'冠游' then '冠游'
|
|
when channel~'巴兔' then '巴兔'
|
|
when channel~'天纵' then '天纵'
|
|
when channel~'早游戏' then '早游戏'
|
|
when channel~'爱趣' then '爱趣'
|
|
when channel~'星楠祥' then '星楠祥'
|
|
when channel~'贪游' then '贪游'
|
|
when channel~'君游' then '君游'
|
|
when channel~'996直播间' then '996直播间'
|
|
when channel~'mumu' then 'mumu'
|
|
when channel~'吉祥' then '吉祥直播间'
|
|
when channel~'溪谷' then '溪谷'
|
|
when channel~'优谷' then '优谷'
|
|
when channel~'闪趣' then '闪趣'
|
|
when channel~'8酷' then '8酷'
|
|
when channel~'抖音' then '抖音'
|
|
when channel~'斗鱼' then '斗鱼'
|
|
when channel~'虎牙' then '虎牙'
|
|
when channel~'巨量' then '巨量'
|
|
when channel~'快手' then '快手'
|
|
when channel~'爱奇艺' then '爱奇艺'
|
|
when channel~'007' then '007'
|
|
when channel~'圣宏' then '圣宏'
|
|
when channel~'顺火' then '顺火'
|
|
when channel~'飞火' then '飞火'
|
|
when channel~'乐岛' then '乐岛'
|
|
when channel~'传柒' then '传柒'
|
|
when channel~'星际' then '星际'
|
|
when channel~'玖趣' then '玖趣'
|
|
when channel~*'ku25' then 'ku25'
|
|
when channel~'8090' then '8090'
|
|
when channel~*'appstore' then 'AppStore'
|
|
when channel~'欢娱' then '欢娱'
|
|
when channel~'逐梦' then '逐梦'
|
|
when channel~'兴动' then '兴动'
|
|
when channel~'3733' then '3733'
|
|
when channel~'第一游戏' then '第一游戏'
|
|
when channel~'公会' then '公会'
|
|
when channel~'欢娱' then '欢娱'
|
|
when channel~'335玩' then '335玩'
|
|
when channel~*'4yx' then '4yx'
|
|
when channel~'37' then '37'
|
|
when channel~'开心' then '开心'
|
|
when channel~* 'ios|苹果' then 'ios苹果端具体不详'
|
|
when channel~'触点' then '触点'
|
|
when channel~'游码' then '游码'
|
|
when channel~*'45yx' then '45yx'
|
|
when channel~'巨量' then '巨量'
|
|
when channel~'小铃铛' then '小铃铛'
|
|
when channel~'2345' then '2345'
|
|
when channel~'梨子' then '梨子'
|
|
when channel~'麦游' then '麦游'
|
|
when channel~'群英' then '群英'
|
|
when channel~'阅文' then '阅文'
|
|
when channel~*'kopo' then 'kopo'
|
|
when channel~'创启' then '创启'
|
|
when channel~'4366' then '4366'
|
|
when channel~'大楚' then '大楚'
|
|
when channel~'巅峰' then '巅峰'
|
|
when channel~'277' then '277'
|
|
when channel~'112233' then '112233'
|
|
when channel~'714' then '714'
|
|
when channel~'4399' then '4399'
|
|
when channel~'追忆' then '追忆'
|
|
when channel~*'yy' then 'yy'
|
|
when channel~'588' then '588'
|
|
when channel~'八门' then '八门'
|
|
when channel~*'pdd' then 'pdd'
|
|
when channel~'9917' then '9917'
|
|
when channel~'51517' then '51517'
|
|
when channel~*'4yx' then '4yx'
|
|
when channel~'好汉' then '好汉'
|
|
when channel~'51' then '51'
|
|
when channel~'葫芦侠' then '葫芦侠'
|
|
when channel~'虫虫' then '虫虫'
|
|
when channel~'跃游' then '跃游'
|
|
when channel~'天天' then '天天'
|
|
when channel~'66' then '66'
|
|
when channel~'嘉禾' then '嘉禾'
|
|
when channel~'爱游' then '爱游'
|
|
when channel~'乐疯玩' then '乐疯玩'
|
|
when channel~'游戏饭' then '游戏饭'
|
|
else '其他' end as re_channel,
|
|
amount / 100 AS pay_amount
|
|
FROM public.ods_payment_order
|
|
WHERE status = 1
|
|
AND ds BETWEEN '${bizmonth}' AND '${bizdate}'
|
|
)
|
|
INSERT INTO
|
|
datasci.ads_996eco_index_channel_m (index_type,data_month,re_channel,pay_cnt,pay_amount)
|
|
SELECT
|
|
'pay' AS index_type,
|
|
'${month}' AS data_month,
|
|
re_channel,
|
|
UNIQ(po.user_id) AS pay_cnt,
|
|
SUM(po.pay_amount) AS pay_amount
|
|
FROM po
|
|
INNER JOIN
|
|
ga ON po.appid = ga.id
|
|
LEFT JOIN
|
|
public.ods_newly_account na ON po.appid = na.appid AND po.user_id = na.user_id
|
|
GROUP BY 1,2,3
|
|
;
|
|
|
|
-- mau
|
|
WITH game_apply AS
|
|
(
|
|
SELECT id
|
|
,name
|
|
,bind_game_id
|
|
FROM public.gm_apply
|
|
WHERE bind_game_type = 1
|
|
)
|
|
INSERT INTO
|
|
datasci.ads_996eco_index_box_m (index_type,data_month,is_box,mau)
|
|
SELECT 'mau' index_type
|
|
,'${month}' data_month
|
|
,CASE WHEN grouping(user_flag) = 0 THEN user_flag
|
|
ELSE '总计'
|
|
END AS is_box
|
|
,uniq(user_id) AS mau
|
|
FROM (
|
|
SELECT CASE WHEN t1.channel LIKE '%996box%' THEN '盒子'
|
|
ELSE '非盒子'
|
|
END AS user_flag
|
|
,user_id
|
|
FROM public.ods_active_account t1
|
|
INNER JOIN game_apply t2
|
|
ON t1.appid = t2.id
|
|
WHERE t1.ds BETWEEN '${hisdate}' AND '${bizdate}'
|
|
) t
|
|
GROUP BY user_flag
|
|
;
|
|
|
|
-- mau-device
|
|
WITH game_apply AS
|
|
(
|
|
SELECT id
|
|
,name
|
|
,bind_game_id
|
|
FROM public.gm_apply
|
|
WHERE bind_game_type = 1
|
|
)
|
|
INSERT INTO
|
|
datasci.ads_996eco_index_box_m (index_type,data_month,is_box,device_type,device_type_new,act_num)
|
|
SELECT 'mau-device' index_type
|
|
,'${month}' AS data_month
|
|
,CASE WHEN t1.channel LIKE '%996box%' THEN '盒子'
|
|
ELSE '非盒子'
|
|
END AS is_box
|
|
,t1.device_type
|
|
,CASE WHEN lower(t1.device_type) LIKE '%h5%' THEN 'H5'
|
|
WHEN lower(t1.device_type) LIKE '%pc%' THEN 'PC'
|
|
WHEN lower(t1.device_type) LIKE '%ios%' THEN 'IOS'
|
|
ELSE t1.device_type
|
|
END AS device_type_new
|
|
,uniq(user_id) AS act_num
|
|
FROM public.ods_active_account t1
|
|
INNER JOIN game_apply t2
|
|
ON t1.appid = t2.id
|
|
WHERE t1.ds BETWEEN '${hisdate}' AND '${bizdate}'
|
|
GROUP BY 1,2,3,4
|
|
;
|
|
|
|
|
|
-- reg
|
|
WITH legend_apps AS
|
|
(
|
|
SELECT id AS appid
|
|
FROM gm_apply
|
|
WHERE bind_game_type = 1
|
|
AND bind_type = 1 -- 默认应用
|
|
)
|
|
---传奇游戏
|
|
,tmp_ods_newly_account AS
|
|
(
|
|
SELECT *
|
|
FROM ods_newly_account
|
|
WHERE ds BETWEEN '${hisdate}' AND '${bizdate}'
|
|
)
|
|
,box_users AS
|
|
(
|
|
SELECT user_id
|
|
FROM tmp_ods_newly_account
|
|
WHERE appid = 1015
|
|
OR channel ~ '996box'
|
|
OR channel IN (
|
|
SELECT value AS channel
|
|
FROM public.dws_app_props
|
|
WHERE appid = 1015
|
|
AND prop = 2
|
|
)
|
|
GROUP BY user_id
|
|
)
|
|
-- 筛选出有盒子记录以及玩过传奇游戏的玩家
|
|
,box_users_with_legend AS
|
|
(
|
|
SELECT acc.user_id
|
|
FROM tmp_ods_newly_account acc
|
|
WHERE
|
|
EXISTS(
|
|
SELECT 1
|
|
FROM legend_apps app
|
|
WHERE acc.appid = app.appid
|
|
)
|
|
AND
|
|
EXISTS(
|
|
SELECT 1
|
|
FROM box_users box
|
|
WHERE box.user_id = acc.user_id
|
|
)
|
|
)
|
|
,reg_account AS
|
|
(
|
|
-- 普通用户的传奇记录
|
|
SELECT acc.gmid
|
|
,acc.appid
|
|
,acc.channel
|
|
,acc.user_id
|
|
,acc.device_type
|
|
,acc.event_time
|
|
,acc.ds
|
|
,'非盒子用户' AS user_flag --表示没有玩过盒子的普通传奇用户
|
|
,'0' AS sub_channel
|
|
FROM tmp_ods_newly_account acc
|
|
WHERE
|
|
EXISTS(
|
|
SELECT 1
|
|
FROM legend_apps app
|
|
WHERE app.appid = acc.appid
|
|
)
|
|
AND NOT
|
|
EXISTS(
|
|
SELECT 1
|
|
FROM box_users box
|
|
WHERE box.user_id = acc.user_id
|
|
)
|
|
UNION ALL -- 盒子用户玩过传奇的全量记录
|
|
SELECT acc.gmid
|
|
,acc.appid
|
|
,CASE WHEN bxchl.channel_desc IS NOT NULL THEN bxchl.channel_desc
|
|
ELSE acc.channel
|
|
END AS channel
|
|
,acc.user_id
|
|
,acc.device_type
|
|
,acc.event_time
|
|
,acc.ds
|
|
,'盒子用户' AS user_flag ---表示玩过盒子的用户
|
|
,bxchl.channel_desc AS sub_channel
|
|
FROM tmp_ods_newly_account acc
|
|
LEFT JOIN (
|
|
SELECT appid
|
|
,value AS channel
|
|
,ext AS channel_desc
|
|
FROM public.dws_app_props
|
|
WHERE appid = 1015
|
|
AND prop = 2 -- and length(ext)>0
|
|
) bxchl
|
|
ON acc.appid = bxchl.appid
|
|
AND acc.channel = bxchl.channel
|
|
WHERE
|
|
EXISTS(
|
|
SELECT 1
|
|
FROM box_users_with_legend b
|
|
WHERE b.user_id = acc.user_id
|
|
)
|
|
)
|
|
INSERT INTO
|
|
datasci.ads_996eco_index_box_m (index_type,data_month,is_box,reg_count)
|
|
SELECT 'reg' index_type
|
|
,'${month}' AS data_month
|
|
,CASE WHEN user_flag = '非盒子用户' THEN '非盒子注册用户'
|
|
WHEN user_flag = '盒子用户'
|
|
AND (appid = 1015
|
|
OR channel ~ '996box'
|
|
OR sub_channel IS NOT NULL) THEN '盒子注册用户'
|
|
ELSE '非盒子注册用户'
|
|
END AS is_box
|
|
,uniq(mi.user_id) AS reg_count
|
|
FROM reg_account acc
|
|
INNER JOIN (
|
|
SELECT user_id
|
|
,MIN(event_time) AS event_time_min
|
|
FROM reg_account
|
|
GROUP BY user_id
|
|
) mi ---从玩家的众多游戏记录中选取最早的一条
|
|
ON acc.user_id = mi.user_id
|
|
AND acc.event_time = mi.event_time_min
|
|
GROUP BY 1
|
|
,2
|
|
,3
|
|
;
|
|
|
|
INSERT INTO
|
|
datasci.ads_996eco_index_channel_m (index_type,data_month,re_channel,mau)
|
|
select
|
|
'mau' index_type,
|
|
'${month}' data_month,
|
|
case when channel~'盒子' or channel~'996box' then '盒子'
|
|
when channel~'ai6' then 'ai6'
|
|
when channel~'玩心' then '玩心'
|
|
when channel~'应用宝' then '腾讯应用宝'
|
|
when channel~'纸片' then '纸片'
|
|
when channel~'团团' then '团团'
|
|
when channel~'335玩' then '335玩'
|
|
when channel~'朋克' then '朋克'
|
|
when channel~'安徽追游' then '安徽追游'
|
|
when channel~'冰火' then '冰火'
|
|
when channel~'心乐' then '心乐'
|
|
when channel LIKE '%华为%' OR
|
|
channel LIKE '%vivo%' OR
|
|
channel LIKE '%OPPO%' OR
|
|
channel LIKE '%魅族%' OR
|
|
channel LIKE '%努比亚%' OR
|
|
channel LIKE '%联想%' OR
|
|
channel LIKE '%酷派%' then '硬核联盟'
|
|
when channel~'9377' then '9377'
|
|
when channel~'智灵' then '智灵'
|
|
when channel~'掌游' then '掌游'
|
|
when channel~'上士' then '上士'
|
|
when channel~'攒趣' then '攒趣'
|
|
when channel~'掌玩' then '掌玩'
|
|
when channel~'贪玩' then '贪玩'
|
|
when channel~'wx'or channel~'WX'or channel~'微信' then '微信'
|
|
when channel~'公众号' then '公众号'
|
|
when channel~'qq' or channel~'QQ' then 'QQ'
|
|
when channel~'quick' then 'quick'
|
|
when channel~'七牛' then '七牛'
|
|
when channel~'霸气' then '霸气'
|
|
when channel~'xy' or channel~'XY' then 'XY'
|
|
when channel~'芝麻互娱' then '芝麻互娱'
|
|
when channel~'龙翔' then '龙翔'
|
|
when channel~'布咕' then '布咕'
|
|
when channel~'小柠互娱' then '小柠互娱'
|
|
when channel~'春秋玩' then '春秋玩'
|
|
when channel~'欢喜时代' then '欢喜时代'
|
|
when channel~'上游' then '上游'
|
|
when channel~'倾程' then '倾程'
|
|
when channel~'绿洲' then '绿洲'
|
|
when channel~'雷电' then '雷电'
|
|
when channel~'点点' then '点点'
|
|
when channel~'小七' then '小七'
|
|
when channel~'瓜玩' then '瓜玩'
|
|
when channel~'艺云' then '艺云'
|
|
when channel~'冠游' then '冠游'
|
|
when channel~'玄藏' then '玄藏'
|
|
when channel~'羽龙' then '羽龙'
|
|
when channel~'星云' then '星云'
|
|
when channel~'爱尚游' then '爱尚游'
|
|
when channel~'昊玩' then '昊玩'
|
|
when channel~'8酷' then '8酷'
|
|
when channel~'迅玩' then '迅玩'
|
|
when channel~'星游' then '星游'
|
|
when channel~'小米' then '小米'
|
|
when channel~'趣城' then '趣城'
|
|
when channel~'诺游' then '诺游'
|
|
when channel~'洛谷' then '洛谷'
|
|
when channel~'司墨' then '司墨'
|
|
when channel~'脚印' then '脚印'
|
|
when channel~'神游' then '神游'
|
|
when channel~'拓乐' then '拓乐'
|
|
when channel~'360' then '360'
|
|
when channel~'日昇' then '日昇'
|
|
when channel~'触点' then '触点'
|
|
when channel~'冠游' then '冠游'
|
|
when channel~'巴兔' then '巴兔'
|
|
when channel~'天纵' then '天纵'
|
|
when channel~'早游戏' then '早游戏'
|
|
when channel~'爱趣' then '爱趣'
|
|
when channel~'星楠祥' then '星楠祥'
|
|
when channel~'贪游' then '贪游'
|
|
when channel~'君游' then '君游'
|
|
when channel~'996直播间' then '996直播间'
|
|
when channel~'mumu' then 'mumu'
|
|
when channel~'吉祥' then '吉祥直播间'
|
|
when channel~'溪谷' then '溪谷'
|
|
when channel~'优谷' then '优谷'
|
|
when channel~'闪趣' then '闪趣'
|
|
when channel~'8酷' then '8酷'
|
|
when channel~'抖音' then '抖音'
|
|
when channel~'斗鱼' then '斗鱼'
|
|
when channel~'虎牙' then '虎牙'
|
|
when channel~'巨量' then '巨量'
|
|
when channel~'快手' then '快手'
|
|
when channel~'爱奇艺' then '爱奇艺'
|
|
when channel~'007' then '007'
|
|
when channel~'圣宏' then '圣宏'
|
|
when channel~'顺火' then '顺火'
|
|
when channel~'飞火' then '飞火'
|
|
when channel~'乐岛' then '乐岛'
|
|
when channel~'传柒' then '传柒'
|
|
when channel~'星际' then '星际'
|
|
when channel~'玖趣' then '玖趣'
|
|
when lower(channel)~'ku25' then 'ku25'
|
|
when channel~'8090' then '8090'
|
|
when lower(channel)~'appstore' then 'AppStore'
|
|
when channel~'欢娱' then '欢娱'
|
|
when channel~'逐梦' then '逐梦'
|
|
when channel~'兴动' then '兴动'
|
|
when channel~'3733' then '3733'
|
|
when channel~'第一游戏' then '第一游戏'
|
|
when channel~'公会' then '公会'
|
|
when channel~'欢娱' then '欢娱'
|
|
when channel~'335玩' then '335玩'
|
|
when lower(channel)~'4yx' then '4yx'
|
|
when channel~'37' then '37'
|
|
when channel~'开心' then '开心'
|
|
when lower(channel)~ 'ios' or channel~'苹果' then 'ios苹果端具体不详'
|
|
when channel~'触点' then '触点'
|
|
when channel~'游码' then '游码'
|
|
when lower(channel)~'45yx' then '45yx'
|
|
when channel~'巨量' then '巨量'
|
|
when channel~'小铃铛' then '小铃铛'
|
|
when channel~'2345' then '2345'
|
|
when channel~'梨子' then '梨子'
|
|
when channel~'麦游' then '麦游'
|
|
when channel~'群英' then '群英'
|
|
when channel~'阅文' then '阅文'
|
|
when lower(channel)~'kopo' then 'kopo'
|
|
when channel~'创启' then '创启'
|
|
when channel~'4366' then '4366'
|
|
when channel~'大楚' then '大楚'
|
|
when channel~'巅峰' then '巅峰'
|
|
when channel~'277' then '277'
|
|
when channel~'112233' then '112233'
|
|
when channel~'714' then '714'
|
|
when channel~'4399' then '4399'
|
|
when channel~'追忆' then '追忆'
|
|
when lower(channel)~'yy' then 'yy'
|
|
when channel~'588' then '588'
|
|
when channel~'八门' then '八门'
|
|
when lower(channel)~'pdd' then 'pdd'
|
|
when channel~'9917' then '9917'
|
|
when channel~'51517' then '51517'
|
|
when lower(channel)~'4yx' then '4yx'
|
|
when channel~'好汉' then '好汉'
|
|
when channel~'51' then '51'
|
|
when channel~'葫芦侠' then '葫芦侠'
|
|
when channel~'虫虫' then '虫虫'
|
|
when channel~'跃游' then '跃游'
|
|
when channel~'天天' then '天天'
|
|
when channel~'66' then '66'
|
|
when channel~'嘉禾' then '嘉禾'
|
|
when channel~'爱游' then '爱游'
|
|
when channel~'乐疯玩' then '乐疯玩'
|
|
when channel~'游戏饭' then '游戏饭'
|
|
else '其他' end as re_channel,
|
|
uniq(user_id) as mau
|
|
from public.ods_active_account t1
|
|
inner join
|
|
(
|
|
select id,name,bind_game_id
|
|
from public.gm_apply
|
|
where bind_game_type=1
|
|
) t2 on t1.appid=t2.id
|
|
where t1.ds BETWEEN '${bizmonth}' AND '${bizdate}'
|
|
group by 1,2,3
|
|
; |