|
@@ -337,48 +337,50 @@ select dt,book,cost,
|
|
|
left outer join (
|
|
|
|
|
|
select toDate(formatDateTime(reg_time,'%Y-%m-%d')) dt,
|
|
|
- count(distinct if(subtractDays(date, 1)>reg_time,'',user_id))-1 reg_order_user1,
|
|
|
- count(distinct if(subtractDays(date, 2)>reg_time,'',user_id))-1 reg_order_user2,
|
|
|
- count(distinct if(subtractDays(date, 3)>reg_time,'',user_id))-1 reg_order_user3,
|
|
|
- count(distinct if(subtractDays(date, 4)>reg_time,'',user_id))-1 reg_order_user4,
|
|
|
- count(distinct if(subtractDays(date, 5)>reg_time,'',user_id))-1 reg_order_user5,
|
|
|
- count(distinct if(subtractDays(date, 6)>reg_time,'',user_id))-1 reg_order_user6,
|
|
|
- count(distinct if(subtractDays(date, 7)>reg_time,'',user_id))-1 reg_order_user7,
|
|
|
- count(distinct if(subtractDays(date, 8)>reg_time,'',user_id))-1 reg_order_user8,
|
|
|
- count(distinct if(subtractDays(date, 9)>reg_time,'',user_id))-1 reg_order_user9,
|
|
|
- count(distinct if(subtractDays(date, 10)>reg_time,'',user_id))-1 reg_order_user10,
|
|
|
- count(distinct if(subtractDays(date, 11)>reg_time,'',user_id))-1 reg_order_user11,
|
|
|
- count(distinct if(subtractDays(date, 12)>reg_time,'',user_id))-1 reg_order_user12,
|
|
|
- count(distinct if(subtractDays(date, 13)>reg_time,'',user_id))-1 reg_order_user13,
|
|
|
- count(distinct if(subtractDays(date, 14)>reg_time,'',user_id))-1 reg_order_user14,
|
|
|
- count(distinct if(subtractDays(date, 15)>reg_time,'',user_id))-1 reg_order_user15,
|
|
|
- count(distinct if(subtractDays(date, 16)>reg_time,'',user_id))-1 reg_order_user16,
|
|
|
- count(distinct if(subtractDays(date, 17)>reg_time,'',user_id))-1 reg_order_user17,
|
|
|
- count(distinct if(subtractDays(date, 18)>reg_time,'',user_id))-1 reg_order_user18,
|
|
|
- count(distinct if(subtractDays(date, 19)>reg_time,'',user_id))-1 reg_order_user19,
|
|
|
- count(distinct if(subtractDays(date, 20)>reg_time,'',user_id))-1 reg_order_user20,
|
|
|
- count(distinct if(subtractDays(date, 21)>reg_time,'',user_id))-1 reg_order_user21,
|
|
|
- count(distinct if(subtractDays(date, 22)>reg_time,'',user_id))-1 reg_order_user22,
|
|
|
- count(distinct if(subtractDays(date, 23)>reg_time,'',user_id))-1 reg_order_user23,
|
|
|
- count(distinct if(subtractDays(date, 24)>reg_time,'',user_id))-1 reg_order_user24,
|
|
|
- count(distinct if(subtractDays(date, 25)>reg_time,'',user_id))-1 reg_order_user25,
|
|
|
- count(distinct if(subtractDays(date, 26)>reg_time,'',user_id))-1 reg_order_user26,
|
|
|
- count(distinct if(subtractDays(date, 27)>reg_time,'',user_id))-1 reg_order_user27,
|
|
|
- count(distinct if(subtractDays(date, 28)>reg_time,'',user_id))-1 reg_order_user28,
|
|
|
- count(distinct if(subtractDays(date, 29)>reg_time,'',user_id))-1 reg_order_user29,
|
|
|
- count(distinct if(subtractDays(date, 30)>reg_time,'',user_id))-1 reg_order_user30
|
|
|
+ count(distinct if(subtractDays(date, 1)>=reg_time,NULL,user_id)) reg_order_user1,
|
|
|
+ count(distinct if(subtractDays(date, 2)>=reg_time,NULL,user_id)) reg_order_user2,
|
|
|
+ count(distinct if(subtractDays(date, 3)>=reg_time,NULL,user_id)) reg_order_user3,
|
|
|
+ count(distinct if(subtractDays(date, 4)>=reg_time,NULL,user_id)) reg_order_user4,
|
|
|
+ count(distinct if(subtractDays(date, 5)>=reg_time,NULL,user_id)) reg_order_user5,
|
|
|
+ count(distinct if(subtractDays(date, 6)>=reg_time,NULL,user_id)) reg_order_user6,
|
|
|
+ count(distinct if(subtractDays(date, 7)>=reg_time,NULL,user_id)) reg_order_user7,
|
|
|
+ count(distinct if(subtractDays(date, 8)>=reg_time,NULL,user_id)) reg_order_user8,
|
|
|
+ count(distinct if(subtractDays(date, 9)>=reg_time,NULL,user_id)) reg_order_user9,
|
|
|
+ count(distinct if(subtractDays(date, 10)>=reg_time,NULL,user_id)) reg_order_user10,
|
|
|
+ count(distinct if(subtractDays(date, 11)>=reg_time,NULL,user_id)) reg_order_user11,
|
|
|
+ count(distinct if(subtractDays(date, 12)>=reg_time,NULL,user_id)) reg_order_user12,
|
|
|
+ count(distinct if(subtractDays(date, 13)>=reg_time,NULL,user_id)) reg_order_user13,
|
|
|
+ count(distinct if(subtractDays(date, 14)>=reg_time,NULL,user_id)) reg_order_user14,
|
|
|
+ count(distinct if(subtractDays(date, 15)>=reg_time,NULL,user_id)) reg_order_user15,
|
|
|
+ count(distinct if(subtractDays(date, 16)>=reg_time,NULL,user_id)) reg_order_user16,
|
|
|
+ count(distinct if(subtractDays(date, 17)>=reg_time,NULL,user_id)) reg_order_user17,
|
|
|
+ count(distinct if(subtractDays(date, 18)>=reg_time,NULL,user_id)) reg_order_user18,
|
|
|
+ count(distinct if(subtractDays(date, 19)>=reg_time,NULL,user_id)) reg_order_user19,
|
|
|
+ count(distinct if(subtractDays(date, 20)>=reg_time,NULL,user_id)) reg_order_user20,
|
|
|
+ count(distinct if(subtractDays(date, 21)>=reg_time,NULL,user_id)) reg_order_user21,
|
|
|
+ count(distinct if(subtractDays(date, 22)>=reg_time,NULL,user_id)) reg_order_user22,
|
|
|
+ count(distinct if(subtractDays(date, 23)>=reg_time,NULL,user_id)) reg_order_user23,
|
|
|
+ count(distinct if(subtractDays(date, 24)>=reg_time,NULL,user_id)) reg_order_user24,
|
|
|
+ count(distinct if(subtractDays(date, 25)>=reg_time,NULL,user_id)) reg_order_user25,
|
|
|
+ count(distinct if(subtractDays(date, 26)>=reg_time,NULL,user_id)) reg_order_user26,
|
|
|
+ count(distinct if(subtractDays(date, 27)>=reg_time,NULL,user_id)) reg_order_user27,
|
|
|
+ count(distinct if(subtractDays(date, 28)>=reg_time,NULL,user_id)) reg_order_user28,
|
|
|
+ count(distinct if(subtractDays(date, 29)>=reg_time,NULL,user_id)) reg_order_user29,
|
|
|
+ count(distinct if(subtractDays(date, 30)>=reg_time,NULL,user_id)) reg_order_user30
|
|
|
from order where channel='{channel}' and dt>='{start}' group by formatDateTime(reg_time,'%Y-%m-%d')) b on a.dt=b.dt
|
|
|
"""
|
|
|
print(sql)
|
|
|
total = ck.execute(f"select count(1) from ({sql}) a")[0][0]
|
|
|
sql+=f" order by {order_by} {order} limit {page},{page_size} "
|
|
|
data = ck.execute(sql)
|
|
|
+ print(data)
|
|
|
|
|
|
key=['date','channel','book','cost','reg_amount','roi','new_follow_user','new_follow_per_cost','order_user','order_count','order_user_per_cost',
|
|
|
'day7_avg_act_rate','day7_avg_act_per_cost','day30_avg_act_rate','day30_avg_act_cost','act_per_cost','d1','d2','d3','d4','d5','d6','d7','d8','d9','d10',
|
|
|
'd11','d12','d13','d14','d15','d16','d17','d18','d19','d20','d21','d22','d23','d24','d25','d26','d27','d28','d29','d30']
|
|
|
|
|
|
x=get_dict_list(key,get_round(data))
|
|
|
+ print(x)
|
|
|
li=[]
|
|
|
|
|
|
for i in x:
|
|
@@ -386,11 +388,17 @@ select toDate(formatDateTime(reg_time,'%Y-%m-%d')) dt,
|
|
|
for j in i:
|
|
|
if j in ['d1','d2','d3','d4','d5','d6','d7','d8','d9','d10',
|
|
|
'd11','d12','d13','d14','d15','d16','d17','d18','d19','d20','d21','d22','d23','d24','d25','d26','d27','d28','d29','d30']:
|
|
|
- k=i[j].split(",")
|
|
|
- k[0]=round(float(k[0]),0)
|
|
|
- k[1]=round(float(k[1]),2)
|
|
|
- k[2]=round(float(k[2]),4)
|
|
|
- di[j]= dict(zip(['act_user','act_cost_per_cost','act_rate'],k))
|
|
|
+ if i[j]:
|
|
|
+ k=i[j].split(",")
|
|
|
+ k[0]=round(float(k[0]),0)
|
|
|
+ k[1]=round(float(k[1]),2)
|
|
|
+ k[2]=round(float(k[2]),4)
|
|
|
+
|
|
|
+ else:
|
|
|
+ k=[0,0,0]
|
|
|
+ di[j] = dict(zip(['act_user', 'act_cost_per_cost', 'act_rate'], k))
|
|
|
+
|
|
|
+
|
|
|
else:
|
|
|
di[j]=i[j]
|
|
|
li.append(di)
|