Kaynağa Gözat

MOD:添加创角人数平均付费,注册人数平均付费

cxyu 3 yıl önce
ebeveyn
işleme
7126573345
1 değiştirilmiş dosya ile 13 ekleme ve 4 silme
  1. 13 4
      data_manage/pitcher_panel.py

+ 13 - 4
data_manage/pitcher_panel.py

@@ -128,7 +128,10 @@ def get_channel_overview(user_id, channel, pitcher, stage, book, start, end, pag
     op6 = f" and stage='{stage}'" if stage else ''
     op7 = f" and book='{book}'" if book else ''
 
-    sql = f"""select channel,dt date,reg_num,create_user_num,
+    sql = f"""select channel,dt date,reg_num,
+           round(if(reg_num=0,0,cost/reg_num),2) reg_per_cost,
+        create_user_num,
+       round(if(create_user_num=0,0,cost/create_user_num),2) create_user_per_cost,        
        view_count,click_count,
        round(if(view_count=0,0,click_count/view_count),4) click_rate,
        follow_user,
@@ -159,10 +162,11 @@ def get_channel_overview(user_id, channel, pitcher, stage, book, start, end, pag
         round(reg_order_user/follow_user,4) follow_order_rate 
 from dw_channel where 1=1 {op}  {op1} {op2} {op3} {op4} {op6} {op7} {op5} """
 
-    print(sql)
     sumsql = f"""select '总计' date,
     sum(reg_num) reg_num,
+    round(if(sum(reg_num)=0,0,sum(cost)/sum(reg_num)),2) reg_per_cost,
     sum(create_user_num) create_user_num,
+    round(if(sum(create_user_num)=0,0,sum(cost)/sum(create_user_num)),2) create_user_per_cost,   
                 sum(view_count) view_count,
                 sum(click_count) click_count,
                 round(sum(click_count)/sum(view_count),4) click_rate,
@@ -196,7 +200,6 @@ round(sum(reg_order_user_again)/sum(reg_order_user),4)  old_user_once_order_rate
 from ({sql}) a
 
     """
-
     return getLimitSumData(db.dm, sql, sumsql, page, page_size)
 
 
@@ -574,7 +577,11 @@ def get_channel_order_trend(user_id, channel, pitcher, start, end, page, page_si
 
     sql = f"""select row_number() over() as id,
                 stage,pitcher,a.channel,a.dt date,a.book,cost,
-                a.type,a.reg_num,a.create_user_num,
+                a.type,
+                a.reg_num,
+                 round(if(a.reg_num=0,0,cost/a.reg_num),2) reg_per_cost,
+                a.create_user_num,
+               round(if( a.create_user_num=0,0,cost/ a.create_user_num),2) create_user_per_cost,                 
                 node/100 require_roi,round(100/node,2) require_mult,
                 round(first_order_amount*100/node-cost,2) expect_profit,
                 annual_mult,
@@ -664,7 +671,9 @@ def get_channel_order_trend(user_id, channel, pitcher, start, end, page, page_si
 
     sumsql = f"""select concat(date_format(min(date),'%Y/%m/%d'),'~',date_format(max(date),'%Y/%m/%d')) date,
                sum(create_user_num) create_user_num,
+               round(if( sum(create_user_num)=0,0,sum(cost)/ sum(create_user_num)),2) create_user_per_cost,                
                sum(reg_num) reg_num,
+                round(if(sum(reg_num)=0,0,sum(cost)/sum(reg_num)),2) reg_per_cost,
                sum(cost) cost,
                sum(reg_amount)  reg_amount,
                sum(first_amount)  first_amount,