瀏覽代碼

‘修改null值’

zhl 3 年之前
父節點
當前提交
735d172551

+ 66 - 66
Apietl/kwai_etl/Q4Task/AppKuaishouAccountReportBusi.py

@@ -172,12 +172,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/ {day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/ {day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -192,94 +192,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/ {day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/ {day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/ {day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/ {day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/ {day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/ {day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/ {day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/ {day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/ {day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/ {day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/ {day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/ {day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -287,10 +287,10 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/ {day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
  media_api.kuaishou_account_report_daily a  where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')

+ 67 - 68
Apietl/kwai_etl/Q4Task/AppKuaishouAccountReportBusiMonth.py

@@ -172,12 +172,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/ {day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/ {day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -192,94 +192,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/ {day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/ {day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/ {day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/ {day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/ {day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/ {day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100),3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/ {day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/ {day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/ {day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/ {day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/ {day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/ {day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -287,14 +287,13 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/ {day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
- media_api.kuaishou_account_report_daily a 
-where stat_date >= date_format(date_sub({date_time},INTERVAL {day_count} DAY),'%Y%m%d')
+ media_api.kuaishou_account_report_daily a  where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count})  DAY),'%Y%m%d')
  group by advertiser_id) report
 LEFT JOIN (
 SELECT

+ 66 - 66
Apietl/kwai_etl/Q4Task/AppKuaishouCampaignReportBusi.py

@@ -176,12 +176,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -196,94 +196,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100),3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -291,10 +291,10 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
  media_api.kuaishou_campaign_report_daily  a  where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')

+ 66 - 66
Apietl/kwai_etl/Q4Task/AppKuaishouCampaignReportBusiMonth.py

@@ -176,12 +176,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -196,94 +196,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100),3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -291,10 +291,10 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
  media_api.kuaishou_campaign_report_daily  a  

+ 77 - 83
Apietl/kwai_etl/Q4Task/AppKuaishouCompanyDesignReportBusi.py

@@ -23,29 +23,29 @@ class AppKuaishouCompanyDesignReportBusi:
             sql = """
 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_company_design_report_busi_{day_count}d 
- select
-  concat(date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) start_end_time,
-  company_id,
+select
+concat(date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) start_end_time,
+ifnull(company_id,'-') company_id,
 company_name,
 org_code,
 org_type,
 id,
 depart_name,
-leader_id,
-  leader_name,
+ifnull(leader_id,'-') leader_id,
+leader_name,
 count(DISTINCT signature) num,
 count(distinct innovate_code) innovate_num,
-  sum(charge) charge,
+sum(charge) charge,
 sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -60,94 +60,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -155,12 +155,11 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-sum(event_ad_watch_times) event_ad_watch_times
-from 
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_timesfrom 
 (SELECT
 video.signature,
 uc.company_id,
@@ -309,7 +308,8 @@ report.charge ,
     report.event_outbound_call_ratio,
     report.event_ad_watch_times
 FROM
-(select * from media_api.kuaishou_material_video_report_daily where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')) report
+(select * from media_api.kuaishou_material_video_report_daily 
+where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')) report
 LEFT JOIN 
 (select account_id,signature,photo_id from media_api.kuaishou_video_list  group by account_id,signature,photo_id) video 
  ON report.advertiser_id = video.account_id AND report.photo_id = video.photo_id 
@@ -349,16 +349,10 @@ rn = 1
 LEFT JOIN `jeecg-boot`.user_company uc ON cma.leader_id = uc.user_id
 LEFT JOIN `jeecg-boot`.sys_user_depart de ON cma.leader_id = de.user_id
 LEFT JOIN `jeecg-boot`.sys_depart ur ON de.dep_id = ur.id) def
-where company_id is not null
 group by
   company_id,
-company_name,
-org_code,
-org_type,
-id,
-depart_name,
-leader_id,
-  leader_name;
+  leader_id
+;
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)
             self.conn.commit()

+ 74 - 82
Apietl/kwai_etl/Q4Task/AppKuaishouCompanyDesignReportBusiMonth.py

@@ -24,29 +24,29 @@ class AppKuaishouCompanyDesignReportBusiMonth:
 delete from application.app_kuaishou_company_design_report_busi_m  where stat_mon=date_format({date_time},'%Y%m%') ;
 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_company_design_report_busi_m 
- select
+select
 date_format({date_time},'%Y%m') stat_mon,
-  company_id,
+ifnull(company_id,'-') company_id,
 company_name,
 org_code,
 org_type,
 id,
 depart_name,
-leader_id,
-  leader_name,
+ifnull(leader_id,'-') leader_id,
+leader_name,
 count(DISTINCT signature) num,
 count(distinct innovate_code) innovate_num,
-  sum(charge) charge,
+sum(charge) charge,
 sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -61,94 +61,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -156,12 +156,11 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-sum(event_ad_watch_times) event_ad_watch_times
-from 
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_timesfrom 
 (SELECT
 video.signature,
 uc.company_id,
@@ -311,7 +310,7 @@ report.charge ,
     report.event_ad_watch_times
 FROM
 (select * from media_api.kuaishou_material_video_report_daily 
-where stat_date >= date_format(date_sub({date_time}, INTERVAL {day_count} DAY),'%Y%m%d')) report
+where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')) report
 LEFT JOIN 
 (select account_id,signature,photo_id from media_api.kuaishou_video_list  group by account_id,signature,photo_id) video 
  ON report.advertiser_id = video.account_id AND report.photo_id = video.photo_id 
@@ -351,16 +350,9 @@ rn = 1
 LEFT JOIN `jeecg-boot`.user_company uc ON cma.leader_id = uc.user_id
 LEFT JOIN `jeecg-boot`.sys_user_depart de ON cma.leader_id = de.user_id
 LEFT JOIN `jeecg-boot`.sys_depart ur ON de.dep_id = ur.id) def
-where company_id is not null
 group by
   company_id,
-company_name,
-org_code,
-org_type,
-id,
-depart_name,
-leader_id,
-  leader_name;
+  leader_id;
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)
             self.conn.commit()

+ 130 - 143
Apietl/kwai_etl/Q4Task/AppKuaishouCompanyUserReportBusi.py

@@ -24,148 +24,141 @@ class AppKuaishouCompanyUserReportBusi:
 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_company_user_report_busi_{day_count}d
 SELECT
-concat(
-date_format(
-date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),
-'%Y%m%d'
-),
-'-',
-{date_time}
-) start_end_time,
-company_id,
+concat(date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) start_end_time,
+ifnull(company_id,'-') company_id,
 company_name,
 org_code,
 org_type,
 dep_id,
 depart_name,
-leader_id,
-leader_name leader_name,
+ifnull(leader_id,'-') leader_id,
+ leader_name,
 count(DISTINCT account_id) account_num,
 sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3)  event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times  
 from (
 SELECT
 report.advertiser_id account_id,
@@ -343,14 +336,8 @@ LEFT JOIN `jeecg-boot`.sys_depart pa ON pa.id = de.dep_id) dep
 ON report.advertiser_id = dep.account_id) com
 where com.company_id is not null
 group by 
-company_id,
-company_name,
-org_code,
-org_type,
-dep_id,
-depart_name,
-leader_id,
-leader_name;
+   leader_id
+
 
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)

+ 127 - 127
Apietl/kwai_etl/Q4Task/AppKuaishouCompanyUserReportBusiMonth.py

@@ -25,140 +25,140 @@ SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_
 REPLACE INTO application.app_kuaishou_company_user_report_busi_m
 SELECT
 date_format({date_time},'%Y%m') start_end_time,
-company_id,
+ifnull(company_id,'-') company_id,
 company_name,
 org_code,
 org_type,
 dep_id,
 depart_name,
-leader_id,
-leader_name leader_name,
+ifnull(leader_id,'-') leader_id,
+ leader_name,
 count(DISTINCT account_id) account_num,
 sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3)  event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times  
 from (
 SELECT
 report.advertiser_id account_id,

+ 132 - 149
Apietl/kwai_etl/Q4Task/AppKuaishouProductReportBusi.py

@@ -24,166 +24,149 @@ class AppKuaishouProductReportBusi:
 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_product_report_busi_{day_count}d 
 SELECT
-concat(
-date_format(
-date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),
-'%Y%m%d'
-),
-'-',
-{date_time}
-) time,
-uc.company_id,
+concat(date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) time,
+ifnull(uc.company_id,'-') company_id,
 CASE WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN '北京汇创思拓数字科技有限公司'
        WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN '广州汇创思拓数字科技有限公司'
-       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END company_name,
- cp.product_id,
+       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END 
+       company_name,
+ ifnull(cp.product_id,'-') product_id,
  cn.product_name,
  count(report.advertiser_id) account_num,
  sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3)  event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times
  from  
- (select * from  media_api.kuaishou_account_report_daily  where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')) report
+ (select * from  media_api.kuaishou_account_report_daily  where stat_date >= date_format(date_sub({date_time}, INTERVAL 
+ ({day_count} -1 )  DAY),'%Y%m%d')) report
 LEFT JOIN `jeecg-boot`.ctop_user_allocation cua ON report.advertiser_id = cua.account_id
 LEFT JOIN `jeecg-boot`.ctop_project cp ON cua.project_id = cp.id
 LEFT JOIN `jeecg-boot`.ctop_product cn ON cp.product_id = cn.id
 LEFT JOIN `jeecg-boot`.user_company uc ON uc.user_id = cua.user_id
 GROUP BY
-uc.company_id,
-CASE
-WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN
-'北京汇创思拓数字科技有限公司'
-WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN
-'广州汇创思拓数字科技有限公司'
-WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN
-'上海汇创思拓数字科技有限公司'
-ELSE
-uc.company_name
-END,
- cp.product_id,
- cn.product_name;
+cua.product_id;
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)
             self.conn.commit()

+ 132 - 143
Apietl/kwai_etl/Q4Task/AppKuaishouProductReportBusiMonth.py

@@ -24,160 +24,149 @@ class AppKuaishouProductReportBusiMonth:
 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_product_report_busi_m
 SELECT
-date_format({date_time},'%Y%m') stat_mon,
-uc.company_id,
+date_format({date_time},'%Y%m') as  stat_mon,
+ifnull(uc.company_id,'-') company_id,
 CASE WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN '北京汇创思拓数字科技有限公司'
        WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN '广州汇创思拓数字科技有限公司'
-       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END company_name,
- cp.product_id,
+       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END 
+       company_name,
+ ifnull(cp.product_id,'-') product_id,
  cn.product_name,
  count(report.advertiser_id) account_num,
  sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3)  event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times
  from  
- (select * from  media_api.kuaishou_account_report_daily  
- where stat_date >= date_format(date_sub({date_time}, INTERVAL {day_count}  DAY),'%Y%m%d')) report
+ (select * from  media_api.kuaishou_account_report_daily  where stat_date >= date_format(date_sub({date_time}, INTERVAL 
+ ({day_count})  DAY),'%Y%m%d')) report
 LEFT JOIN `jeecg-boot`.ctop_user_allocation cua ON report.advertiser_id = cua.account_id
 LEFT JOIN `jeecg-boot`.ctop_project cp ON cua.project_id = cp.id
 LEFT JOIN `jeecg-boot`.ctop_product cn ON cp.product_id = cn.id
 LEFT JOIN `jeecg-boot`.user_company uc ON uc.user_id = cua.user_id
 GROUP BY
-uc.company_id,
-CASE
-WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN
-'北京汇创思拓数字科技有限公司'
-WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN
-'广州汇创思拓数字科技有限公司'
-WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN
-'上海汇创思拓数字科技有限公司'
-ELSE
-uc.company_name
-END,
- cp.product_id,
- cn.product_name;
+cua.product_id;
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)
             self.conn.commit()

+ 130 - 151
Apietl/kwai_etl/Q4Task/AppKuaishouProjectReportBusi.py

@@ -25,147 +25,141 @@ SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_
 REPLACE INTO application.app_kuaishou_project_report_busi_{day_count}d
 SELECT
 concat(
-date_format(
-date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),
-'%Y%m%d'
-),
-'-',
-{date_time}
-) time,
-uc.company_id,
+date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) time,
+ifnull(uc.company_id,'-') company_id,
 CASE WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN '北京汇创思拓数字科技有限公司'
        WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN '广州汇创思拓数字科技有限公司'
        WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END company_name,
- cp.product_id,
+ ifnull(cp.product_id,'-') product_id,
  cn.product_name,
- cua.project_id,
+ ifnull(cua.project_id,'-') project_id,
  cp.project_name,
  count(report.advertiser_id) account_num,
  sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times
  from  
  (select * from  media_api.kuaishou_account_report_daily  where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')) report
 LEFT JOIN `jeecg-boot`.ctop_user_allocation cua ON report.advertiser_id = cua.account_id
@@ -173,23 +167,8 @@ LEFT JOIN `jeecg-boot`.ctop_project cp ON cua.project_id = cp.id
 LEFT JOIN `jeecg-boot`.ctop_product cn ON cp.product_id = cn.id
 LEFT JOIN `jeecg-boot`.user_company uc ON uc.user_id = cua.user_id
 GROUP BY
-uc.company_id,
-CASE
-WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN
-'北京汇创思拓数字科技有限公司'
-WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN
-'广州汇创思拓数字科技有限公司'
-WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN
-'上海汇创思拓数字科技有限公司'
-ELSE
-uc.company_name
-END,
- cp.product_id,
- cn.product_name,
- cua.project_id,
- cp.project_name;
- 
-            """.format(date_time=self.date_time, day_count=self.day_count)
+cua.project_id;
+        """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)
             self.conn.commit()
             TidbConn.conn_close(conn=self.conn)

+ 132 - 145
Apietl/kwai_etl/Q4Task/AppKuaishouProjectReportBusiMonth.py

@@ -25,163 +25,150 @@ SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_
 REPLACE INTO application.app_kuaishou_project_report_busi_m
 SELECT
 date_format({date_time},'%Y%m') as  stat_mon,
-uc.company_id,
+ifnull(uc.company_id,'-') company_id,
 CASE WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN '北京汇创思拓数字科技有限公司'
        WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN '广州汇创思拓数字科技有限公司'
-       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END company_name,
- cp.product_id,
+       WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN '上海汇创思拓数字科技有限公司' ELSE uc.company_name END 
+       company_name,
+ ifnull(cp.product_id,'-') product_id,
  cn.product_name,
- cua.project_id,
+ ifnull(cua.project_id,'-') project_id,
  cp.project_name,
  count(report.advertiser_id) account_num,
  sum(charge) charge,
-  sum(`show`) `show`,
-  sum(photo_click)photo_click,
-  sum(aclick)  aclick,
-  sum(bclick) bclick,
-  round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-  round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-  round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-  round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-  round(sum(charge)/sum(photo_click),3) photo_click_cost,
-  round(sum(charge)/sum(bclick),3) action_cost,
-  sum(`share`) `share`,
-  sum(`comment`) `comment`,
-  sum(`like`)  `like`,
-  sum(follow) follow,
-  sum(cancel_follow)  cancel_follow,
-  sum(report) report,
-  sum(block) block,
-  sum(negative) negative,
-  sum(submit) submit,
-  sum(download_started) download_started,
-  sum(download_completed) download_completed,
-  sum(activation) activation,
-  sum(event_pay_first_day) event_pay_first_day,
-  sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-  round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
-  sum(event_pay) event_pay,
-  sum(event_pay_purchase_amount) event_pay_purchase_amount,
-  round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
-  sum(event_register) event_register,
-  round(sum(charge)/sum(event_register),3) event_register_cost,
-  round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
-  sum(event_jin_jian_app) event_jin_jian_app,
-  round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
-  sum(event_credit_grant_app) event_credit_grant_app,
-  round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-  round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
-  sum(event_order_paid) event_order_paid,
-  sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-  round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
-  sum(event_next_day_stay) event_next_day_stay,
-  round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-  round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
-  sum(form_count) form_count,
-  round(sum(charge)/sum(form_count),3) form_cost,
-  round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
-  sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-  round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
-  sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-  round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-  round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
-  sum(event_valid_clues) event_valid_clues,
-  round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
-  sum(event_add_wechat) event_add_wechat,
-  round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-  round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
-  sum(event_get_through) event_get_through,
-  round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-  round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
-  sum(event_app_invoked) event_app_invoked,
-  round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-  round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-  round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-  round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-  round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
-  sum(event_new_user_pay) event_new_user_pay,
-  round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-  round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-  round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
-  sum(ad_product_cnt) ad_product_cnt,
-  sum(event_goods_view) event_goods_view,
-  sum(merchant_reco_fans) merchant_reco_fans,
-  round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-  round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-  round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
-  sum(event_button_click) event_button_click,
-  round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-  round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-  round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
-  sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-  round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-  round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
-  sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-  round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-  round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
-  sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-  round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-  round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
-  sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-  round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-  round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
-  sum(event_appoint_form)  event_appoint_form,
-  round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-  round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
-  sum(event_appoint_jump_click) event_appoint_jump_click,
-  round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-  round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
-  sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-  round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
-  sum(event_order_successed) event_order_successed,
-  round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-  round(sum(charge)/sum(key_action),3) key_action_cost,
-  round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-  round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-  round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
-  sum(event_outbound_call) event_outbound_call,
-  round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
-  sum(event_watch_app_ad) event_watch_app_ad,
-  round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
-  sum(event_phone_card_activate) event_phone_card_activate,
-  round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-  round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-  round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
-  sum(event_add_shopping_cart) event_add_shopping_cart,
-  sum(key_action) key_action,
-  sum(event_multi_conversion) event_multi_conversion,
-  sum(event_wechat_connected) event_wechat_connected,
-  sum(event_dsp_gift_form) event_dsp_gift_form,
-  sum(event_intention_confirmed) event_intention_confirmed,
-  sum(event_phone_get_through) event_phone_get_through,
-  round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
-  sum(event_measurement_house) event_measurement_house,
-  round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-  round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
-  sum(event_ad_watch_times) event_ad_watch_times
+sum(`show`) `show`,
+sum(photo_click)photo_click,
+sum(aclick)  aclick,
+sum(bclick) bclick,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
+sum(`share`) `share`,
+sum(`comment`) `comment`,
+sum(`like`)  `like`,
+sum(follow) follow,
+sum(cancel_follow)  cancel_follow,
+sum(report) report,
+sum(block) block,
+sum(negative) negative,
+sum(submit) submit,
+sum(download_started) download_started,
+sum(download_completed) download_completed,
+sum(activation) activation,
+sum(event_pay_first_day) event_pay_first_day,
+sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
+sum(event_pay) event_pay,
+sum(event_pay_purchase_amount) event_pay_purchase_amount,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
+sum(event_register) event_register,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
+sum(event_jin_jian_app) event_jin_jian_app,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
+sum(event_credit_grant_app) event_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
+sum(event_order_paid) event_order_paid,
+sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
+sum(event_next_day_stay) event_next_day_stay,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
+sum(form_count) form_count,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
+sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
+sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
+sum(event_valid_clues) event_valid_clues,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
+sum(event_add_wechat) event_add_wechat,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
+sum(event_get_through) event_get_through,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
+sum(event_app_invoked) event_app_invoked,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
+sum(event_new_user_pay) event_new_user_pay,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
+sum(ad_product_cnt) ad_product_cnt,
+sum(event_goods_view) event_goods_view,
+sum(merchant_reco_fans) merchant_reco_fans,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
+sum(event_button_click) event_button_click,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
+sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
+sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
+sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
+sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
+sum(event_appoint_form)  event_appoint_form,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
+sum(event_appoint_jump_click) event_appoint_jump_click,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
+sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
+sum(event_order_successed) event_order_successed,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
+sum(event_outbound_call) event_outbound_call,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
+sum(event_watch_app_ad) event_watch_app_ad,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
+sum(event_phone_card_activate) event_phone_card_activate,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
+sum(event_add_shopping_cart) event_add_shopping_cart,
+sum(key_action) key_action,
+sum(event_multi_conversion) event_multi_conversion,
+sum(event_wechat_connected) event_wechat_connected,
+sum(event_dsp_gift_form) event_dsp_gift_form,
+sum(event_intention_confirmed) event_intention_confirmed,
+sum(event_phone_get_through) event_phone_get_through,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
+sum(event_measurement_house) event_measurement_house,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
+sum(event_ad_watch_times) event_ad_watch_times
  from  
- (select * from  media_api.kuaishou_account_report_daily  
- where stat_date >= date_format(date_sub({date_time}, INTERVAL {day_count}  DAY),'%Y%m%d')) report
+ (select * from  media_api.kuaishou_account_report_daily  where stat_date >= date_format(date_sub({date_time}, INTERVAL 
+ ({day_count})  DAY),'%Y%m%d')) report
 LEFT JOIN `jeecg-boot`.ctop_user_allocation cua ON report.advertiser_id = cua.account_id
 LEFT JOIN `jeecg-boot`.ctop_project cp ON cua.project_id = cp.id
 LEFT JOIN `jeecg-boot`.ctop_product cn ON cp.product_id = cn.id
 LEFT JOIN `jeecg-boot`.user_company uc ON uc.user_id = cua.user_id
 GROUP BY
-uc.company_id,
-CASE
-WHEN uc.company_id = 'd57fecdcf7a94d009736d9c850731582' THEN
-'北京汇创思拓数字科技有限公司'
-WHEN uc.company_id = '6608ed13c0dd42de93c790dbdf124234' THEN
-'广州汇创思拓数字科技有限公司'
-WHEN uc.company_id = '4b10089775c040119e139087517aed88' THEN
-'上海汇创思拓数字科技有限公司'
-ELSE
-uc.company_name
-END,
- cp.product_id,
- cn.product_name,
- cua.project_id,
- cp.project_name;
+cua.project_id;
  
             """.format(date_time=self.date_time, day_count=self.day_count)
             TidbConn.upsert(conn=self.conn, sql_buff=sql)

+ 66 - 66
Apietl/kwai_etl/Q4Task/AppKuaishouUnitReportBusi.py

@@ -184,12 +184,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -204,94 +204,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100),3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -299,10 +299,10 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
  media_api.kuaishou_unit_report_daily  a 

+ 66 - 66
Apietl/kwai_etl/Q4Task/AppKuaishouUnitReportBusiMonth.py

@@ -184,12 +184,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -204,94 +204,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100),3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -299,10 +299,10 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from 
  media_api.kuaishou_unit_report_daily  a 

+ 72 - 77
Apietl/kwai_etl/Q4Task/AppKuaishouVideoReportBusi.py

@@ -29,7 +29,7 @@ group by account_id """
                     sql = """SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 REPLACE INTO application.app_kuaishou_video_report_busi_{day_count}d 
 SELECT
-concat(date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d'),'-',{date_time}) start_end_time,
+concat(date_format(date_sub({date_time}, INTERVAL (7 -1 )  DAY),'%Y%m%d'),'-',{date_time}) start_end_time,
 report.account_id,
 report.photo_id,
 report.image_token,
@@ -199,12 +199,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -219,94 +219,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -314,24 +314,20 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from  media_api.kuaishou_material_video_report_daily 
-where stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')
+where  stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count} -1 )  DAY),'%Y%m%d')
 and advertiser_id={account_id}
 group by 
 advertiser_id,
-photo_id,
-image_token,
-photo_caption,
-photo_url,
-cover_url)report
+photo_id)report
 left join media_api.kuaishou_video_list video
 on report.account_id = video.account_id and report.photo_id = video.photo_id 
-LEFT JOIN `jeecg-boot`.ctop_material_info cmi ON video.signature = cmi.CODE
+LEFT JOIN (select  code,material_name from `jeecg-boot`.ctop_material_info where status=1) cmi ON video.signature = cmi.CODE
 LEFT JOIN (select material_id,clip_id,shot_id,plan_id,leader_id from (
 select  material_id,clip_id,shot_id,plan_id,leader_id,row_number()over(partition by material_id order by create_time)rn
  from `jeecg-boot`.ctop_material_ascription )m where  rn=1) cma 
@@ -346,9 +342,8 @@ LEFT JOIN `jeecg-boot`.sys_user clip ON clip.id = cma.clip_id
 LEFT JOIN `jeecg-boot`.sys_user shot ON shot.id = cma.shot_id
 LEFT JOIN `jeecg-boot`.sys_user plan ON plan.id = cma.plan_id
 LEFT JOIN `jeecg-boot`.sys_user leader ON leader.id = cma.leader_id
-LEFT JOIN `jeecg-boot`.user_company up ON up.user_id = cma.clip_id
-where cua.account_id={account_id}
-;""".format(date_time=self.date_time, day_count=self.day_count, account_id=account_id[0])
+LEFT JOIN `jeecg-boot`.user_company up ON up.user_id = cma.clip_id where cua.account_id={account_id};
+""".format(date_time=self.date_time, day_count=self.day_count, account_id=account_id[0])
                     print(sql)
                     TidbConn.upsert(conn=self.conn, sql_buff=sql)
                     self.conn.commit()

+ 71 - 75
Apietl/kwai_etl/Q4Task/AppKuaishouVideoReportBusiMonth.py

@@ -199,12 +199,12 @@ sum(`show`) `show`,
 sum(photo_click)photo_click,
 sum(aclick)  aclick,
 sum(bclick) bclick,
-round(sum(photo_click)/sum(`show`),3) photo_click_ratio,
-round(sum(play_3s_ratio)/{day_count}*100,3)  play_3s_ratio,
-round(sum(bclick)/sum(aclick)*100,3) action_ratio,
-round(sum(impression_1k_cost)/{day_count},3) impression_1k_cost,
-round(sum(charge)/sum(photo_click),3) photo_click_cost,
-round(sum(charge)/sum(bclick),3) action_cost,
+ifnull(round(sum(photo_click)/sum(`show`),3),0) photo_click_ratio,
+ifnull(round(sum(play_3s_ratio)/{day_count}*100,3),0)  play_3s_ratio,
+ifnull(round(sum(bclick)/sum(aclick)*100,3),0) action_ratio,
+ifnull(round(sum(impression_1k_cost)/{day_count},3),0) impression_1k_cost,
+ifnull(round(sum(charge)/sum(photo_click),3),0) photo_click_cost,
+ifnull(round(sum(charge)/sum(bclick),3),0) action_cost,
 sum(`share`) `share`,
 sum(`comment`) `comment`,
 sum(`like`)  `like`,
@@ -219,94 +219,94 @@ sum(download_completed) download_completed,
 sum(activation) activation,
 sum(event_pay_first_day) event_pay_first_day,
 sum(event_pay_purchase_amount_first_day) event_pay_purchase_amount_first_day,
-round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3) event_pay_first_day_roi ,
+ifnull(round(sum(event_pay_purchase_amount_first_day)/sum(charge)*100,3),0) event_pay_first_day_roi ,
 sum(event_pay) event_pay,
 sum(event_pay_purchase_amount) event_pay_purchase_amount,
-round(sum(event_pay_purchase_amount)/sum(charge)*100,3) event_pay_roi,
+ifnull(round(sum(event_pay_purchase_amount)/sum(charge)*100,3),0) event_pay_roi,
 sum(event_register) event_register,
-round(sum(charge)/sum(event_register),3) event_register_cost,
-round(sum(event_register)/sum(activation)*100,3) event_register_ratio,
+ifnull(round(sum(charge)/sum(event_register),3),0) event_register_cost,
+ifnull(round(sum(event_register)/sum(activation)*100,3),0) event_register_ratio,
 sum(event_jin_jian_app) event_jin_jian_app,
-round(sum(charge)/sum(event_jin_jian_app),3) event_jin_jian_app_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_app),3),0) event_jin_jian_app_cost,
 sum(event_credit_grant_app) event_credit_grant_app,
-round(sum(charge)/sum(event_credit_grant_app),3) event_credit_grant_app_cost ,
-round(sum(event_credit_grant_app_ratio)/{day_count}*100,3) event_credit_grant_app_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_app),3),0) event_credit_grant_app_cost ,
+ifnull(round(sum(event_credit_grant_app_ratio)/{day_count}*100,3),0) event_credit_grant_app_ratio,
 sum(event_order_paid) event_order_paid,
 sum(event_order_paid_purchase_amount) event_order_paid_purchase_amount,
-round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3) event_order_paid_cost,
+ifnull(round(sum(event_order_paid_purchase_amount)/sum(event_order_paid) ,3),0) event_order_paid_cost,
 sum(event_next_day_stay) event_next_day_stay,
-round(sum(charge)/sum(event_next_day_stay),3) event_next_day_stay_cost,
-round(sum(event_next_day_stay)/sum(activation)*100,3) event_next_day_stay_ratio,
+ifnull(round(sum(charge)/sum(event_next_day_stay),3),0) event_next_day_stay_cost,
+ifnull(round(sum(event_next_day_stay)/sum(activation)*100,3),0) event_next_day_stay_ratio,
 sum(form_count) form_count,
-round(sum(charge)/sum(form_count),3) form_cost,
-round(sum(form_count)/sum(`bclick`)*100,3) form_action_ratio,
+ifnull(round(sum(charge)/sum(form_count),3),0) form_cost,
+ifnull(round(sum(form_count)/sum(`bclick`)*100,3),0) form_action_ratio,
 sum(event_jin_jian_landing_page) event_jin_jian_landing_page,
-round(sum(charge)/sum(event_jin_jian_landing_page),3) event_jin_jian_landing_page_cost,
+ifnull(round(sum(charge)/sum(event_jin_jian_landing_page),3),0) event_jin_jian_landing_page_cost,
 sum(event_credit_grant_landing_page) event_credit_grant_landing_page,
-round(sum(charge)/sum(event_credit_grant_landing_page),3) event_credit_grant_landing_page_cost,
-round(sum(event_credit_grant_landing_page)/{day_count}*100,3) event_credit_grant_landing_page_ratio,
+ifnull(round(sum(charge)/sum(event_credit_grant_landing_page),3),0) event_credit_grant_landing_page_cost,
+ifnull(round(sum(event_credit_grant_landing_page)/{day_count}*100,3),0) event_credit_grant_landing_page_ratio,
 sum(event_valid_clues) event_valid_clues,
-round(sum(charge)/sum(event_valid_clues),3) event_valid_clues_cost,
+ifnull(round(sum(charge)/sum(event_valid_clues),3),0) event_valid_clues_cost,
 sum(event_add_wechat) event_add_wechat,
-round(sum(charge)/sum(event_add_wechat),3) event_add_wechat_cost,
-round(sum(event_add_wechat)/sum(bclick)*100,3) event_add_wechat_ratio,
+ifnull(round(sum(charge)/sum(event_add_wechat),3),0) event_add_wechat_cost,
+ifnull(round(sum(event_add_wechat)/sum(bclick)*100,3),0) event_add_wechat_ratio,
 sum(event_get_through) event_get_through,
-round(sum(charge)/sum(event_get_through),3) event_get_through_cost,
-round(sum(event_get_through)/sum(bclick)*100,3) event_get_through_ratio,
+ifnull(round(sum(charge)/sum(event_get_through),3),0) event_get_through_cost,
+ifnull(round(sum(event_get_through)/sum(bclick)*100,3),0) event_get_through_ratio,
 sum(event_app_invoked) event_app_invoked,
-round(sum(charge)/sum(event_app_invoked),3) event_app_invoked_cost ,
-round(sum(event_app_invoked)/sum(bclick)*100,3) event_app_invoked_ratio,
-round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3) event_credit_grant_landing_ratio,
-round(sum(play_5s_ratio)/{day_count}*100,3) play_5s_ratio,
-round(sum(play_end_ratio)/{day_count}*100,3) play_end_ratio,
+ifnull(round(sum(charge)/sum(event_app_invoked),3),0) event_app_invoked_cost ,
+ifnull(round(sum(event_app_invoked)/sum(bclick)*100,3),0) event_app_invoked_ratio,
+ifnull(round(sum(event_credit_grant_landing_ratio)/{day_count}*100,3),0) event_credit_grant_landing_ratio,
+ifnull(round(sum(play_5s_ratio)/{day_count}*100,3),0) play_5s_ratio,
+ifnull(round(sum(play_end_ratio)/{day_count}*100,3),0) play_end_ratio,
 sum(event_new_user_pay) event_new_user_pay,
-round(sum(charge)/sum(event_new_user_pay),3) event_new_user_pay_cost,
-round(sum(event_new_user_pay)/sum(activation)*100,3) event_new_user_pay_ratio,
-round(sum(click_1k_cost)/{day_count}*100) click_1k_cost,
+ifnull(round(sum(charge)/sum(event_new_user_pay),3),0) event_new_user_pay_cost,
+ifnull(round(sum(event_new_user_pay)/sum(activation)*100,3),0) event_new_user_pay_ratio,
+ifnull(round(sum(click_1k_cost)/{day_count}*100,3),0) click_1k_cost,
 sum(ad_product_cnt) ad_product_cnt,
 sum(event_goods_view) event_goods_view,
 sum(merchant_reco_fans) merchant_reco_fans,
-round(sum(event_order_amount_roi)/{day_count}*100,3) event_order_amount_roi,
-round(sum(charge)/sum(event_goods_view) ,3) event_goods_view_cost,
-round(sum(charge)/sum(merchant_reco_fans),3) merchant_reco_fans_cost,
+ifnull(round(sum(event_order_amount_roi)/{day_count}*100,3),0) event_order_amount_roi,
+ifnull(round(sum(charge)/sum(event_goods_view) ,3),0) event_goods_view_cost,
+ifnull(round(sum(charge)/sum(merchant_reco_fans),3),0) merchant_reco_fans_cost,
 sum(event_button_click) event_button_click,
-round(sum(charge)/sum(event_button_click),3) event_button_click_cost,
-round(sum(event_button_click)/sum(bclick)*100,3) event_button_click_ratio ,
-round(sum(event_order_paid_roi)/{day_count}*100,3) event_order_paid_roi,
+ifnull(round(sum(charge)/sum(event_button_click),3),0) event_button_click_cost,
+ifnull(round(sum(event_button_click)/sum(bclick)*100,3),0) event_button_click_ratio ,
+ifnull(round(sum(event_order_paid_roi)/{day_count}*100,3),0) event_order_paid_roi,
 sum(event_new_user_jinjian_app) event_new_user_jinjian_app,
-round(sum(charge)/sum(event_new_user_jinjian_app),3) event_new_user_jinjian_app_cost,
-round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3) event_new_user_jinjian_app_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_app),3),0) event_new_user_jinjian_app_cost,
+ifnull(round(sum(event_new_user_jinjian_app)/sum(form_count)*100,3),0) event_new_user_jinjian_app_roi ,
 sum(event_new_user_credit_grant_app) event_new_user_credit_grant_app,
-round(sum(charge)/sum(event_new_user_credit_grant_app),3)  event_new_user_credit_grant_app_cost,
-round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3) event_new_user_credit_grant_app_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_app),3),0)  event_new_user_credit_grant_app_cost,
+ifnull(round(sum(event_new_user_credit_grant_app)/sum(form_count)*100,3),0) event_new_user_credit_grant_app_roi,
 sum(event_new_user_jinjian_page) event_new_user_jinjian_page,
-round(sum(charge)/sum(event_new_user_jinjian_page),3) event_new_user_jinjian_page_cost,
-round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3) event_new_user_jinjian_page_roi ,
+ifnull(round(sum(charge)/sum(event_new_user_jinjian_page),3),0) event_new_user_jinjian_page_cost,
+ifnull(round(sum(event_new_user_jinjian_page)/sum(form_count)*100,3),0) event_new_user_jinjian_page_roi ,
 sum(event_new_user_credit_grant_page) event_new_user_credit_grant_page,
-round(sum(charge)/sum(event_new_user_credit_grant_page) ,3) event_new_user_credit_grant_page_cost,
-round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3) event_new_user_credit_grant_page_roi,
+ifnull(round(sum(charge)/sum(event_new_user_credit_grant_page) ,3),0) event_new_user_credit_grant_page_cost,
+ifnull(round(sum(event_new_user_credit_grant_page)/sum(form_count)*100,3),0) event_new_user_credit_grant_page_roi,
 sum(event_appoint_form)  event_appoint_form,
-round(sum(charge)/sum(event_appoint_form),3) event_appoint_form_cost,
-round(sum(event_appoint_form)/sum(form_count)*100,3) event_appoint_form_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_form),3),0) event_appoint_form_cost,
+ifnull(round(sum(event_appoint_form)/sum(form_count)*100,3),0) event_appoint_form_ratio,
 sum(event_appoint_jump_click) event_appoint_jump_click,
-round(sum(charge)/sum(event_appoint_jump_click),3)  event_appoint_jump_click_cost,
-round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3) event_appoint_jump_click_ratio,
+ifnull(round(sum(charge)/sum(event_appoint_jump_click),3),0)  event_appoint_jump_click_cost,
+ifnull(round(sum(event_appoint_jump_click_cost)/sum(form_count)*100,3),0) event_appoint_jump_click_ratio,
 sum(union_event_pay_purchase_amount_7d) union_event_pay_purchase_amount_7d,
-round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3) union_event_pay_purchase_amount_7d_roi,
+ifnull(round(sum(union_event_pay_purchase_amount_7d_roi)/{day_count}*100,3),0) union_event_pay_purchase_amount_7d_roi,
 sum(event_order_successed) event_order_successed,
-round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3) ad_photo_played_10s_ratio,
-round(sum(charge)/sum(key_action),3) key_action_cost,
-round(sum(charge)/sum(event_add_shopping_cart) ,3) event_add_shopping_cart_cost ,
-round(sum(event_ad_watch_times)/sum(bclick)*100,3) event_ad_watch_times_ratio,
-round(sum(charge)/sum(event_outbound_call),3) event_outbound_call_cost,
+ifnull(round(sum(ad_photo_played_10s_ratio)/{day_count}*100,3),0) ad_photo_played_10s_ratio,
+ifnull(round(sum(charge)/sum(key_action),3),0) key_action_cost,
+ifnull(round(sum(charge)/sum(event_add_shopping_cart) ,3),0) event_add_shopping_cart_cost ,
+ifnull(round(sum(event_ad_watch_times)/sum(bclick)*100,3),0) event_ad_watch_times_ratio,
+ifnull(round(sum(charge)/sum(event_outbound_call),3),0) event_outbound_call_cost,
 sum(event_outbound_call) event_outbound_call,
-round(sum(action_new_ratio)/{day_count}*100,3) action_new_ratio,
+ifnull(round(sum(action_new_ratio)/{day_count}*100,3),0) action_new_ratio,
 sum(event_watch_app_ad) event_watch_app_ad,
-round(sum(charge)/sum(event_multi_conversion) ,3) event_multi_conversion_cost,
+ifnull(round(sum(charge)/sum(event_multi_conversion) ,3),0) event_multi_conversion_cost,
 sum(event_phone_card_activate) event_phone_card_activate,
-round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3) ad_photo_played_75percent_ratio,
-round(sum(key_action)/sum(activation)*100,3) key_action_ratio ,
-round(sum(charge)/sum(event_ad_watch_times),3) event_ad_watch_times_cost,
+ifnull(round(sum(ad_photo_played_75percent_ratio)/{day_count}*100,3),0) ad_photo_played_75percent_ratio,
+ifnull(round(sum(key_action)/sum(activation)*100,3),0) key_action_ratio ,
+ifnull(round(sum(charge)/sum(event_ad_watch_times),3),0) event_ad_watch_times_cost,
 sum(event_add_shopping_cart) event_add_shopping_cart,
 sum(key_action) key_action,
 sum(event_multi_conversion) event_multi_conversion,
@@ -314,24 +314,20 @@ sum(event_wechat_connected) event_wechat_connected,
 sum(event_dsp_gift_form) event_dsp_gift_form,
 sum(event_intention_confirmed) event_intention_confirmed,
 sum(event_phone_get_through) event_phone_get_through,
-round(sum(event_multi_conversion)/sum(activation)*100,3)  event_multi_conversion_ratio,
+ifnull(round(sum(event_multi_conversion)/sum(activation)*100,3),0)  event_multi_conversion_ratio,
 sum(event_measurement_house) event_measurement_house,
-round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3) ad_photo_played_2s_ratio,
-round(sum(event_outbound_call_ratio)/sum(activation)*100,3) event_outbound_call_ratio,
+ifnull(round(sum(ad_photo_played_2s_ratio)/{day_count}*100,3),0) ad_photo_played_2s_ratio,
+ifnull(round(sum(event_outbound_call_ratio)/sum(activation)*100,3),0) event_outbound_call_ratio,
 sum(event_ad_watch_times) event_ad_watch_times
 from  media_api.kuaishou_material_video_report_daily 
-where stat_date >= date_format(date_sub({date_time}, INTERVAL {day_count} DAY),'%Y%m%d')
+where  stat_date >= date_format(date_sub({date_time}, INTERVAL ({day_count})  DAY),'%Y%m%d')
 and advertiser_id={account_id}
 group by 
 advertiser_id,
-photo_id,
-image_token,
-photo_caption,
-photo_url,
-cover_url)report
+photo_id)report
 left join media_api.kuaishou_video_list video
 on report.account_id = video.account_id and report.photo_id = video.photo_id 
-LEFT JOIN `jeecg-boot`.ctop_material_info cmi ON video.signature = cmi.CODE
+LEFT JOIN (select  code,material_name from `jeecg-boot`.ctop_material_info where status=1) cmi ON video.signature = cmi.CODE
 LEFT JOIN (select material_id,clip_id,shot_id,plan_id,leader_id from (
 select  material_id,clip_id,shot_id,plan_id,leader_id,row_number()over(partition by material_id order by create_time)rn
  from `jeecg-boot`.ctop_material_ascription )m where  rn=1) cma 
@@ -347,8 +343,8 @@ LEFT JOIN `jeecg-boot`.sys_user shot ON shot.id = cma.shot_id
 LEFT JOIN `jeecg-boot`.sys_user plan ON plan.id = cma.plan_id
 LEFT JOIN `jeecg-boot`.sys_user leader ON leader.id = cma.leader_id
 LEFT JOIN `jeecg-boot`.user_company up ON up.user_id = cma.clip_id
-where cua.account_id={account_id}
-;""".format(date_time=self.date_time, day_count=self.day_count, account_id=account_id[0])
+where cua.account_id={account_id};
+""".format(date_time=self.date_time, day_count=self.day_count, account_id=account_id[0])
                     print(sql)
                     TidbConn.upsert(conn=self.conn, sql_buff=sql)
                     self.conn.commit()