ck пре 4 година
родитељ
комит
54b0c54f1f
1 измењених фајлова са 43 додато и 35 уклоњено
  1. 43 35
      data_manage/pitcher_panel.py

+ 43 - 35
data_manage/pitcher_panel.py

@@ -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)