修复empty
This commit is contained in:
parent
f75f9c97c6
commit
aec4ebf825
@ -54,6 +54,8 @@ async def query_sql(
|
|||||||
sql = data_in.sql
|
sql = data_in.sql
|
||||||
sql = sql.replace('$game', game)
|
sql = sql.replace('$game', game)
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
df_to_stream = DfToStream((df, 'result'))
|
df_to_stream = DfToStream((df, 'result'))
|
||||||
with df_to_stream as d:
|
with df_to_stream as d:
|
||||||
export = d.to_stream()
|
export = d.to_stream()
|
||||||
@ -93,6 +95,8 @@ async def event_model_export(request: Request,
|
|||||||
sql = item['sql']
|
sql = item['sql']
|
||||||
event_name = item['event_name']
|
event_name = item['event_name']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
continue
|
||||||
if 'date' in df:
|
if 'date' in df:
|
||||||
df.sort_values('date', inplace=True)
|
df.sort_values('date', inplace=True)
|
||||||
try:
|
try:
|
||||||
@ -288,7 +292,7 @@ async def retention_model(request: Request,
|
|||||||
sql = res['sql']
|
sql = res['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
if df.empty:
|
if df.empty:
|
||||||
return schemas.Msg(code=0, msg='无数据', data=None)
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
date_range = res['date_range']
|
date_range = res['date_range']
|
||||||
unit_num = res['unit_num']
|
unit_num = res['unit_num']
|
||||||
@ -361,6 +365,8 @@ async def retention_model_export(request: Request,
|
|||||||
|
|
||||||
sql = data['sql']
|
sql = data['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
df_to_stream = DfToStream((df, '留存分析'))
|
df_to_stream = DfToStream((df, '留存分析'))
|
||||||
with df_to_stream as d:
|
with df_to_stream as d:
|
||||||
export = d.to_stream()
|
export = d.to_stream()
|
||||||
@ -386,6 +392,8 @@ async def retention_model_del(
|
|||||||
title = await crud.event_mana.get_show_name(db, game, event_a)
|
title = await crud.event_mana.get_show_name(db, game, event_a)
|
||||||
title = f'{title}用户数'
|
title = f'{title}用户数'
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
concat_data = []
|
concat_data = []
|
||||||
df = pd.concat([df, pd.DataFrame(concat_data, columns=df.columns)])
|
df = pd.concat([df, pd.DataFrame(concat_data, columns=df.columns)])
|
||||||
df['date'] = df['date'].apply(lambda x: x.date())
|
df['date'] = df['date'].apply(lambda x: x.date())
|
||||||
@ -473,6 +481,8 @@ async def funnel_model(
|
|||||||
groupby = res['groupby']
|
groupby = res['groupby']
|
||||||
|
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
# 补齐level数据
|
# 补齐level数据
|
||||||
concat_data = []
|
concat_data = []
|
||||||
for key, tmp_df in df.groupby(['date'] + groupby):
|
for key, tmp_df in df.groupby(['date'] + groupby):
|
||||||
@ -616,6 +626,8 @@ async def retention_model_export(request: Request,
|
|||||||
mime = mimetypes.guess_type(file_name)[0]
|
mime = mimetypes.guess_type(file_name)[0]
|
||||||
sql = res['sql']
|
sql = res['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
interval_type = res['interval_type']
|
interval_type = res['interval_type']
|
||||||
analysis = res['analysis']
|
analysis = res['analysis']
|
||||||
groupby = res['groupby']
|
groupby = res['groupby']
|
||||||
@ -734,6 +746,8 @@ async def scatter_model(
|
|||||||
res = await analysis.scatter_model_sql()
|
res = await analysis.scatter_model_sql()
|
||||||
sql = res['sql']
|
sql = res['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
df.fillna(0, inplace=True)
|
df.fillna(0, inplace=True)
|
||||||
df['values'] = df['values'].astype(int)
|
df['values'] = df['values'].astype(int)
|
||||||
interval_type = res['interval_type']
|
interval_type = res['interval_type']
|
||||||
@ -858,6 +872,8 @@ async def trace_model_sql(
|
|||||||
res = await analysis.trace_model_sql()
|
res = await analysis.trace_model_sql()
|
||||||
sql = res['sql']
|
sql = res['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
chain_dict = defaultdict(dict)
|
chain_dict = defaultdict(dict)
|
||||||
nodes = {'流失'}
|
nodes = {'流失'}
|
||||||
for event_names, count in zip(df['event_chain'], df['values']):
|
for event_names, count in zip(df['event_chain'], df['values']):
|
||||||
@ -923,6 +939,8 @@ async def user_property_model_export(
|
|||||||
|
|
||||||
sql = data['sql']
|
sql = data['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
df_to_stream = DfToStream((df, '用户属性'))
|
df_to_stream = DfToStream((df, '用户属性'))
|
||||||
with df_to_stream as d:
|
with df_to_stream as d:
|
||||||
export = d.to_stream()
|
export = d.to_stream()
|
||||||
@ -944,12 +962,11 @@ async def user_property_model(
|
|||||||
quota = res['quota']
|
quota = res['quota']
|
||||||
groupby = res['groupby']
|
groupby = res['groupby']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
if len(df) == 0:
|
if df.empty:
|
||||||
return schemas.Msg(code=0, msg='查无数据', data=None)
|
return schemas.Msg(code=-9, msg='无数据', data=None)
|
||||||
|
|
||||||
# 没有分组
|
# 没有分组
|
||||||
data = {'groupby': groupby}
|
data = {}
|
||||||
title = []
|
|
||||||
|
|
||||||
if not groupby:
|
if not groupby:
|
||||||
data['总体'] = int(df['values'][0])
|
data['总体'] = int(df['values'][0])
|
||||||
@ -957,7 +974,6 @@ async def user_property_model(
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
sum_s = df.groupby(groupby)['values'].sum()
|
sum_s = df.groupby(groupby)['values'].sum()
|
||||||
data = dict()
|
|
||||||
for key, val in sum_s.items():
|
for key, val in sum_s.items():
|
||||||
if isinstance(key, tuple):
|
if isinstance(key, tuple):
|
||||||
key = ','.join([str(i) for i in key])
|
key = ','.join([str(i) for i in key])
|
||||||
|
@ -54,7 +54,7 @@ async def ltv_model_sql(
|
|||||||
ltv_n = res['ltv_n']
|
ltv_n = res['ltv_n']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
if df.empty:
|
if df.empty:
|
||||||
return schemas.Msg(code=-1, msg='查无数据')
|
return schemas.Msg(code=-9, msg='查无数据')
|
||||||
df.fillna(0, inplace=True)
|
df.fillna(0, inplace=True)
|
||||||
for d in set(res['date_range']) - set(df['date']):
|
for d in set(res['date_range']) - set(df['date']):
|
||||||
df.loc[len(df)] = 0
|
df.loc[len(df)] = 0
|
||||||
@ -116,6 +116,8 @@ async def ltv_model_export(request: Request,
|
|||||||
|
|
||||||
sql = data['sql']
|
sql = data['sql']
|
||||||
df = await ckdb.query_dataframe(sql)
|
df = await ckdb.query_dataframe(sql)
|
||||||
|
if df.empty:
|
||||||
|
return schemas.Msg(code=-9, msg='查无数据')
|
||||||
df_to_stream = DfToStream((df, 'ltv'))
|
df_to_stream = DfToStream((df, 'ltv'))
|
||||||
with df_to_stream as d:
|
with df_to_stream as d:
|
||||||
export = d.to_stream()
|
export = d.to_stream()
|
||||||
|
Loading…
Reference in New Issue
Block a user