This commit is contained in:
wuaho 2021-09-02 18:32:38 +08:00
parent 45a75de3eb
commit ad69d6fddf
2 changed files with 15 additions and 6 deletions

View File

@ -136,7 +136,7 @@ async def event_model(
# df_group.reset_index(drop=True, inplace=True) # df_group.reset_index(drop=True, inplace=True)
q['groups'].append(groupby) q['groups'].append(groupby)
q['values'].append(df['values'].to_list()) q['values'].append(df['values'].to_list())
# q['sum'].append(float(df['values'].sum())) q['sum'].append(float(df['values'].sum()))
q['avg'].append(round(float(df['values'].mean()),2)) q['avg'].append(round(float(df['values'].mean()),2))
for last_value in df['values'].values[::-1]: for last_value in df['values'].values[::-1]:
if last_value > 0: if last_value > 0:
@ -165,7 +165,7 @@ async def event_model(
df_group = pd.concat([df_group, pd.DataFrame(concat_data, columns=df_group.columns)]) df_group = pd.concat([df_group, pd.DataFrame(concat_data, columns=df_group.columns)])
df_group.sort_values('date', inplace=True) df_group.sort_values('date', inplace=True)
q['values'].append(df_group['values'].to_list()) q['values'].append(df_group['values'].to_list())
# q['sum'].append(float(df_group['values'].sum())) q['sum'].append(float(df_group['values'].sum()))
q['avg'].append(round(float(df_group['values'].mean()),2)) q['avg'].append(round(float(df_group['values'].mean()),2))
for last_value in df['values'].values[::-1]: for last_value in df['values'].values[::-1]:
if last_value > 0: if last_value > 0:
@ -188,7 +188,7 @@ async def event_model(
if last_value > 0: if last_value > 0:
q['last_value'] = float(last_value) q['last_value'] = float(last_value)
break break
# q['sum'].append(float(df['values'].sum())) q['sum'].append(float(df['values'].sum()))
q['avg'].append(round(float(df['values'].mean()),2)) q['avg'].append(round(float(df['values'].mean()),2))
if item['time_particle'] in ('P1D', 'P1W'): if item['time_particle'] in ('P1D', 'P1W'):
q['date_range'] = [d.strftime('%Y-%m-%d') for d in q['date_range']] q['date_range'] = [d.strftime('%Y-%m-%d') for d in q['date_range']]
@ -232,6 +232,8 @@ async def retention_model(request: Request,
title = f'用户数' title = f'用户数'
date_range = res['date_range'] date_range = res['date_range']
unit_num = res['unit_num'] unit_num = res['unit_num']
filter_item_type = res['filter_item_type']
filter_item = res['filter_item']
df.set_index('reg_date', inplace=True) df.set_index('reg_date', inplace=True)
for i in set(date_range) - set(df.index): for i in set(date_range) - set(df.index):
df.loc[i] = 0 df.loc[i] = 0
@ -264,13 +266,16 @@ async def retention_model(request: Request,
# 'values': values, # 'values': values,
'days': days, 'days': days,
'date_range': [d.strftime('%Y-%m-%d') for d in date_range][:unit_num + 1], 'date_range': [d.strftime('%Y-%m-%d') for d in date_range][:unit_num + 1],
'title': title 'title': title,
'filter_item_type':filter_item_type,
'filter_item':filter_item,
} }
return schemas.Msg(code=0, msg='ok', data=resp) return schemas.Msg(code=0, msg='ok', data=resp)
@router.post("/retention_model_del", deprecated=True) @router.post("/retention_model_del", deprecated=True)
async def retention_model( async def retention_model_del(
request: Request, request: Request,
game: str, game: str,
ckdb: CKDrive = Depends(get_ck_db), ckdb: CKDrive = Depends(get_ck_db),

View File

@ -592,6 +592,8 @@ ORDER BY values desc"""
} }
def retention_model_sql2(self): def retention_model_sql2(self):
filter_item_type = self.event_view.get('filter-item-type')
filter_item = self.event_view.get('filter-item')
event_name_a = self.events[0]['eventName'] event_name_a = self.events[0]['eventName']
event_name_b = self.events[1]['eventName'] event_name_b = self.events[1]['eventName']
@ -650,5 +652,7 @@ group by a.reg_date) log on reg.date=log.reg_date
return { return {
'sql': sql, 'sql': sql,
'date_range': self.date_range, 'date_range': self.date_range,
'unit_num': self.unit_num 'unit_num': self.unit_num,
'filter_item_type': filter_item_type,
'filter_item': filter_item,
} }