设备付费率
This commit is contained in:
parent
e50780e273
commit
d8a5735cea
@ -70,7 +70,7 @@ class CustomEvent:
|
||||
# 总次数
|
||||
if comp == 'total_count':
|
||||
return func.sum(getattr(func, 'if')(getattr(self.tbl.c, '#event_name') == event_name, 1, 0))
|
||||
elif comp == 'touch_user_count':
|
||||
elif comp == 'touch_user_count' or comp == 'touch_device_count':
|
||||
return func.uniqCombined(getattr(func, 'if')(getattr(self.tbl.c, '#event_name') == event_name,
|
||||
getattr(self.tbl.c, '#account_id'), None))
|
||||
elif comp == 'touch_user_avg':
|
||||
@ -684,7 +684,7 @@ class BehaviorAnalysis:
|
||||
# 聚合方式
|
||||
if analysis == 'total_count':
|
||||
selectd = select_exprs + [func.count().label('values')]
|
||||
elif analysis == 'touch_user_count':
|
||||
elif analysis == 'touch_user_count' or analysis == 'touch_device_count':
|
||||
selectd = select_exprs + [func.count(sa.distinct(e_account_id_col)).label('values')]
|
||||
elif analysis == 'touch_user_avg':
|
||||
selectd = select_exprs + [
|
||||
@ -701,7 +701,7 @@ class BehaviorAnalysis:
|
||||
if analysis == 'total_count':
|
||||
selectd = select_exprs + [
|
||||
settings.ARITHMETIC[operator](func.count(), operator_val).label('values')]
|
||||
elif analysis == 'touch_user_count':
|
||||
elif analysis == 'touch_user_count' or analysis == 'touch_device_count':
|
||||
selectd = select_exprs + [
|
||||
settings.ARITHMETIC[operator](func.count(sa.distinct(e_account_id_col)),
|
||||
operator_val).label('values')]
|
||||
@ -774,6 +774,19 @@ FROM {game}.event
|
||||
WHERE addHours({game}.event."#event_time", 8) >= '{stat_date}' AND addHours({game}.event."#event_time", 8) <= '{end_date}'
|
||||
GROUP BY toDate(addHours({game}.event."#event_time", 8))) as bb on aa.date = bb.date ORDER by date
|
||||
"""
|
||||
# 单独设备付费率的拿出来
|
||||
if event.get('customEvent') == 'pay.touch_device_count/login.touch_device_count':
|
||||
stat_date = self.start_date
|
||||
end_date = self.end_date
|
||||
game = self.game
|
||||
sql = f"""
|
||||
select toDate(addHours({game}.event."#event_time", 8)) AS date,round((uniqCombined(if({game}.event."#event_name" = 'pay',{game}.event.`#distinct_id`,NULL)) / uniqCombined(if({game}.event."#event_name" = 'login',{game}.event."#distinct_id",NULL))) * 100,2) AS values
|
||||
FROM {game}.event
|
||||
WHERE addHours({game}.event."#event_time", 8) >= '{stat_date}'
|
||||
AND addHours({game}.event."#event_time", 8) <= '{end_date}'
|
||||
AND {game}.event."#event_name" IN ('pay', 'login')
|
||||
GROUP BY toDate(addHours({game}.event."#event_time", 8)) ORDER BY date LIMIT 100000
|
||||
"""
|
||||
# 单独把新增付费人数(以设备为维度)拿出来
|
||||
if event.get('event_attr') == '触发用户数' and ['is_new_device', 'orderid'] == [i['columnName'] for i in
|
||||
event.get('filts')]:
|
||||
|
Loading…
Reference in New Issue
Block a user