This commit is contained in:
wuaho 2021-07-30 14:49:21 +08:00
parent db7a54f03c
commit 76c5710ee7
2 changed files with 9 additions and 7 deletions

View File

@ -29,8 +29,8 @@ async def ltv_model_sql(
) -> schemas.Msg: ) -> schemas.Msg:
""" ltv模型sql """ """ ltv模型sql """
await analysis.init() await analysis.init()
sql = analysis.ltv_model_sql() data = analysis.ltv_model_sql()
return schemas.Msg(code=0, msg='ok', data=sql) return schemas.Msg(code=0, msg='ok', data=[data])
@router.post("/ltv_model") @router.post("/ltv_model")
@ -43,7 +43,9 @@ async def ltv_model_sql(
) -> schemas.Msg: ) -> schemas.Msg:
""" ltv模型sql """ """ ltv模型sql """
await analysis.init() await analysis.init()
sql = analysis.ltv_model_sql()
res = analysis.ltv_model_sql()
sql = res['sql']
df = await ckdb.query_dataframe(sql) df = await ckdb.query_dataframe(sql)
df.fillna(0, inplace=True) df.fillna(0, inplace=True)
df.rename(columns={'date': '注册日期', 'cnt1': '角色数'}, inplace=True) df.rename(columns={'date': '注册日期', 'cnt1': '角色数'}, inplace=True)

View File

@ -108,7 +108,7 @@ class XAnalysis:
{select_ltv_str} {select_ltv_str}
FROM (SELECT toDate(addHours(`#event_time`, `#zone_offset`)) as date, uniqExact(`#account_id`) cnt1 FROM (SELECT toDate(addHours(`#event_time`, `#zone_offset`)) as date, uniqExact(`#account_id`) cnt1
FROM {self.game}.event FROM {self.game}.event
where `#event_name` = 'create_role' where `#event_name` = 'create_account'
AND {where_str} AND {where_str}
GROUP BY toDate(addHours(`#event_time`, `#zone_offset`))) as reg GROUP BY toDate(addHours(`#event_time`, `#zone_offset`))) as reg
left join left join
@ -116,14 +116,14 @@ class XAnalysis:
{sumpay_str} {sumpay_str}
from (SELECT toDate(addHours(`#event_time`, `#zone_offset`)) as date, `#account_id` from (SELECT toDate(addHours(`#event_time`, `#zone_offset`)) as date, `#account_id`
FROM {self.game}.event FROM {self.game}.event
where `#event_name` = 'create_role' where `#event_name` = 'create_account'
and {where_str}) as a and {where_str}) as a
left join (select `#account_id`, money, toDate(addHours(`#event_time`, `#zone_offset`)) as date left join (select `#account_id`, money, toDate(addHours(`#event_time`, `#zone_offset`)) as date
from {self.game}.event from {self.game}.event
where `#event_name` = 'rechargeGame') b where `#event_name` = 'pay') b
on a.`#account_id` = b.`#account_id` on a.`#account_id` = b.`#account_id`
group by a.date) log on reg.date = log.date group by a.date) log on reg.date = log.date
order by date order by date
""" """
print(sql) print(sql)
return sql return {'sql': sql}