控制显隐指标

This commit is contained in:
wuaho 2021-11-01 11:43:50 +08:00
parent aec4ebf825
commit 362a1cb1d2
2 changed files with 29 additions and 24 deletions

View File

@ -148,7 +148,12 @@ async def event_model(
await analysis.init(data_where=current_user.data_where)
sqls = await analysis.event_model_sql()
res = []
for item in sqls:
is_hide = []
for idx, item in enumerate(sqls):
if item.get('is_show') == False:
is_hide.append(idx)
q = {
'groups': [],
'values': [],
@ -262,6 +267,7 @@ async def event_model(
item['values'] = np.array(item['values'])[sort_key].tolist()
item['sum'] = np.array(item['sum'])[sort_key].tolist()
item['avg'] = np.array(item['avg'])[sort_key].tolist()
res = [item for idx, item in enumerate(res) if idx not in is_hide]
return schemas.Msg(code=0, msg='ok', data=res)

View File

@ -220,7 +220,6 @@ class BehaviorAnalysis:
# self.event_tbl = sa.Table('event_view', metadata, *[sa.Column(column) for column in columns])
self.event_tbl = sa.Table('event', metadata, *[sa.Column(column) for column in columns])
async def handler_filts(self, *filters):
"""
@ -244,7 +243,7 @@ class BehaviorAnalysis:
elif item['tableType'] == 'event':
where = event_filter
elif item['tableType'] == 'user_label':
user_cluster_def=UserClusterDef(self.game,item['columnName'],self.data_where)
user_cluster_def = UserClusterDef(self.game, item['columnName'], self.data_where)
await user_cluster_def.init()
sub_qry = user_cluster_def.to_sql_qry()
if comparator == 'in':
@ -252,7 +251,6 @@ class BehaviorAnalysis:
else:
event_filter.append(sa.Column('#account_id').notin_(sub_qry))
continue
else:
continue
@ -260,7 +258,6 @@ class BehaviorAnalysis:
tbl = getattr(self, f'{item["tableType"]}_tbl')
col = getattr(tbl.c, item['columnName'])
ftv = item['ftv']
if comparator == '==':
if len(ftv) > 1:
@ -379,6 +376,7 @@ class BehaviorAnalysis:
for event in self.events:
event_name_display = event.get('eventNameDisplay')
is_show = event.get('is_show', True)
select_exprs = []
if self.time_particle != 'total':
@ -420,7 +418,8 @@ class BehaviorAnalysis:
'end_date': self.end_date[:10],
'event_name': event.get('eventNameDisplay'),
'format': event.get('format') or 'float',
'date_range': self.date_range
'date_range': self.date_range,
'is_show': is_show,
}
)
continue
@ -482,7 +481,7 @@ class BehaviorAnalysis:
'time_particle': self.time_particle,
'start_date': self.start_date[:10],
'end_date': self.end_date[:10],
'is_show': is_show,
})
return sqls
@ -583,9 +582,9 @@ ORDER BY level
if analysis in ['times', 'number_of_days', 'number_of_hours']:
if self.time_particle == 'total':
qry = sa.select( *self.groupby, values_col) \
qry = sa.select(*self.groupby, values_col) \
.where(and_(*where)) \
.group_by( *self.groupby, e_account_id_col)
.group_by(*self.groupby, e_account_id_col)
else:
qry = sa.select(event_date_col, *self.groupby, values_col) \
.where(and_(*where)) \
@ -606,10 +605,10 @@ ORDER BY level
elif event.get('quota'):
event_attr_col = getattr(self.event_tbl.c, event['quota'])
if self.time_particle == 'total':
qry = sa.select( e_account_id_col,
qry = sa.select(e_account_id_col,
settings.CK_FUNC[analysis](event_attr_col).label('values')) \
.where(and_(*where)) \
.group_by( *self.groupby, e_account_id_col)
.group_by(*self.groupby, e_account_id_col)
else:
qry = sa.select(event_date_col, e_account_id_col,
settings.CK_FUNC[analysis](event_attr_col).label('values')) \
@ -817,7 +816,7 @@ group by a.reg_date) log on reg.date=log.reg_date
'sql': sql,
'date_range': self.date_range,
'unit_num': self.unit_num,
'retention_n':retention_n,
'retention_n': retention_n,
'filter_item_type': filter_item_type,
'filter_item': filter_item,
'time_particle': self.time_particle,