diff --git a/api/api_v1/endpoints/query.py b/api/api_v1/endpoints/query.py index 1328abc..84e1b69 100644 --- a/api/api_v1/endpoints/query.py +++ b/api/api_v1/endpoints/query.py @@ -136,7 +136,7 @@ async def event_model( # df_group.reset_index(drop=True, inplace=True) q['groups'].append(groupby) 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)) for last_value in df['values'].values[::-1]: 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.sort_values('date', inplace=True) 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)) for last_value in df['values'].values[::-1]: if last_value > 0: @@ -188,7 +188,7 @@ async def event_model( if last_value > 0: q['last_value'] = float(last_value) break - # q['sum'].append(float(df['values'].sum())) + q['sum'].append(float(df['values'].sum())) q['avg'].append(round(float(df['values'].mean()),2)) if item['time_particle'] in ('P1D', 'P1W'): 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'用户数' date_range = res['date_range'] unit_num = res['unit_num'] + filter_item_type = res['filter_item_type'] + filter_item = res['filter_item'] df.set_index('reg_date', inplace=True) for i in set(date_range) - set(df.index): df.loc[i] = 0 @@ -264,13 +266,16 @@ async def retention_model(request: Request, # 'values': values, 'days': days, '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) @router.post("/retention_model_del", deprecated=True) -async def retention_model( +async def retention_model_del( request: Request, game: str, ckdb: CKDrive = Depends(get_ck_db), diff --git a/models/behavior_analysis.py b/models/behavior_analysis.py index b9ff05d..5ef0eef 100644 --- a/models/behavior_analysis.py +++ b/models/behavior_analysis.py @@ -592,6 +592,8 @@ ORDER BY values desc""" } 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_b = self.events[1]['eventName'] @@ -650,5 +652,7 @@ group by a.reg_date) log on reg.date=log.reg_date return { 'sql': sql, '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, }