|
@@ -396,10 +396,77 @@
|
|
|
(
|
|
|
SELECT
|
|
|
h.`hour` as tHour,
|
|
|
- h.charge AS tCost,
|
|
|
- IFNULL( ROUND(( h.charge / h.activation ), 2 ), 0 ) AS tActivationPrice,
|
|
|
- IFNULL( ROUND(( h.charge / h.event_new_user_pay ), 2 ), 0 ) AS tEventNewUserPayCost,
|
|
|
- IFNULL( ROUND( ( h.event_next_day_stay / h.activation ), 2 ), 0 ) AS tLeave
|
|
|
+ <if test='type == "cost"'>
|
|
|
+ h.charge AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activation"'>
|
|
|
+ IFNULL(h.activation,0) AS tData ,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activationPrice"'>
|
|
|
+ IFNULL(ROUND( (h.charge / h.activation) , 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "leave"'>
|
|
|
+ IF(( h.event_next_day_stay / h.activation ) > 0.0001,CONCAT(ROUND(( h.event_next_day_stay / h.activation ) * 100, 2 ),'%'),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPay"'>
|
|
|
+ IFNULL( h.event_pay ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayCost"'>
|
|
|
+ IFNULL(ROUND( (h.charge / h.event_pay ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayRate"'>
|
|
|
+ IF(( h.event_pay / h.activation + h.form_count ) > 0.0001,CONCAT(ROUND( ( h.event_pay / h.activation + h.form_count ) * 100, 2 ),'%'),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPay"'>
|
|
|
+ IFNULL( h.event_new_user_pay ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_new_user_pay ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayRate"'>
|
|
|
+ IFNULL(ROUND( ( h.event_new_user_pay / h.activation + h.form_count ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvoked"'>
|
|
|
+ IFNULL( h.event_app_invoked ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvokedCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_app_invoked ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegister"'>
|
|
|
+ IFNULL( h.event_register ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegisterCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_register) , 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyAction"'>
|
|
|
+ IFNULL( h.key_action ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.key_action ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionRate"'>
|
|
|
+ IF(( h.key_action / h.activation ) > 0.0001,CONCAT( ROUND(( h.key_action / h.activation ) * 100 , 2 ), '%' ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayPurchaseAmountFirstDay"'>
|
|
|
+ IFNULL( h.event_pay_purchase_amount_first_day ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayFirstDayRoi"'>
|
|
|
+ IFNULL( h.event_pay_first_day_roi ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCount"'>
|
|
|
+ IFNULL( h.form_count ,0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCountPrice"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.form_count ), 2 ),0) AS tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "photoShow"'>
|
|
|
+ IFNULL(h.`show`,0) as tData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "photoClick"'>
|
|
|
+ IFNULL(h.photo_click,0) as tData,
|
|
|
+ </if>
|
|
|
+ h.account_id as tAccountId
|
|
|
+
|
|
|
FROM
|
|
|
application.kuaishou_account_report_hourly_dw h
|
|
|
<where>
|
|
@@ -416,10 +483,76 @@
|
|
|
(
|
|
|
SELECT
|
|
|
h.`hour` as yHour,
|
|
|
- h.charge AS yCost,
|
|
|
- IFNULL( ROUND(( h.charge / h.activation ), 2 ), 0 ) AS yActivationPrice,
|
|
|
- IFNULL( ROUND(( h.charge / h.event_new_user_pay ), 2 ), 0 ) AS yEventNewUserPayCost,
|
|
|
- IFNULL( ROUND( ( h.event_next_day_stay / h.activation ), 2 ), 0 ) AS yLeave
|
|
|
+ <if test='type == "cost"'>
|
|
|
+ h.charge AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activation"'>
|
|
|
+ IFNULL(h.activation,0) AS yData ,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activationPrice"'>
|
|
|
+ IFNULL(ROUND( (h.charge / h.activation) , 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "leave"'>
|
|
|
+ IF(( h.event_next_day_stay / h.activation ) > 0.0001,CONCAT(ROUND(( h.event_next_day_stay / h.activation ) * 100, 2 ),'%'),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPay"'>
|
|
|
+ IFNULL( h.event_pay ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayCost"'>
|
|
|
+ IFNULL(ROUND( (h.charge / h.event_pay ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayRate"'>
|
|
|
+ IF(( h.event_pay / h.activation + h.form_count ) > 0.0001,CONCAT(ROUND( ( h.event_pay / h.activation + h.form_count ) * 100, 2 ),'%'),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPay"'>
|
|
|
+ IFNULL( h.event_new_user_pay ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_new_user_pay ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayRate"'>
|
|
|
+ IFNULL(ROUND( ( h.event_new_user_pay / h.activation + h.form_count ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvoked"'>
|
|
|
+ IFNULL( h.event_app_invoked ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvokedCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_app_invoked ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegister"'>
|
|
|
+ IFNULL( h.event_register ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegisterCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.event_register) , 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyAction"'>
|
|
|
+ IFNULL( h.key_action ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionCost"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.key_action ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionRate"'>
|
|
|
+ IF(( h.key_action / h.activation ) > 0.0001,CONCAT( ROUND(( h.key_action / h.activation ) * 100 , 2 ), '%' ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayPurchaseAmountFirstDay"'>
|
|
|
+ IFNULL( h.event_pay_purchase_amount_first_day ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayFirstDayRoi"'>
|
|
|
+ IFNULL( h.event_pay_first_day_roi ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCount"'>
|
|
|
+ IFNULL( h.form_count ,0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCountPrice"'>
|
|
|
+ IFNULL(ROUND( ( h.charge / h.form_count ), 2 ),0) AS yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "photoShow"'>
|
|
|
+ IFNULL(h.`show`,0) as yData,
|
|
|
+ </if>
|
|
|
+ <if test='type == "photoClick"'>
|
|
|
+ IFNULL(h.photo_click,0) as yData,
|
|
|
+ </if>
|
|
|
+ h.account_id as yAccountId
|
|
|
FROM
|
|
|
application.kuaishou_account_report_hourly_dw h
|
|
|
<where>
|
|
@@ -441,10 +574,73 @@
|
|
|
<select id="getKuaiShouAccountInfoBrokenLineDaily" resultType="com.alibaba.fastjson.JSONObject">
|
|
|
SELECT
|
|
|
DATE_FORMAT(d.stat_date,'%Y-%m-%d') as dateTime,
|
|
|
- SUM( d.charge ) as cost,
|
|
|
- IFNULL( ROUND( SUM( d.charge ) / SUM( d.activation ), 2 ), 0 ) AS activationPrice,
|
|
|
- IFNULL( ROUND( SUM( d.charge ) / SUM( d.event_new_user_pay ), 2 ), 0 ) AS eventNewUserPayCost,
|
|
|
- IFNULL( ROUND( SUM( d.event_next_day_stay ) / SUM( d.activation ), 2 ), 0 ) AS leave
|
|
|
+ <if test='type == "cost"'>
|
|
|
+ SUM( d.charge ) as data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activation"'>
|
|
|
+ IFNULL(SUM( d.activation ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "activationPrice"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.activation ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "leave"'>
|
|
|
+ IF(SUM( d.event_next_day_stay ) / SUM( d.activation ) > 0.0001,CONCAT(ROUND(SUM( d.event_next_day_stay ) / SUM( d.activation ) * 100, 2 ),'%'),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPay"'>
|
|
|
+ IFNULL(SUM( d.event_pay ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayCost"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.event_pay ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayRate"'>
|
|
|
+ IF(SUM( d.event_pay ) / ( SUM( d.activation ) + SUM( d.form_count )) > 0.0001,CONCAT(ROUND( SUM( d.event_pay ) / ( SUM( d.activation ) + SUM( d.form_count )) * 100, 2 ),'%'),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPay"'>
|
|
|
+ IFNULL(SUM( d.event_new_user_pay ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayCost"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.event_new_user_pay ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventNewUserPayRate"'>
|
|
|
+ IFNULL(ROUND( SUM( d.event_new_user_pay ) / ( SUM( d.activation ) + SUM( d.form_count )), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvoked"'>
|
|
|
+ IFNULL(SUM( d.event_app_invoked ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventAppInvokedCost"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.event_app_invoked ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegister"'>
|
|
|
+ IFNULL(SUM( d.event_register ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventRegisterCost"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.event_register ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyAction"'>
|
|
|
+ IFNULL(SUM( d.key_action ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionCost"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.key_action ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "keyActionRate"'>
|
|
|
+ IF(SUM( d.key_action )/ SUM( d.activation ) > 0.0001,CONCAT( ROUND(SUM( d.key_action )/ SUM( d.activation ) * 100 , 2 ), '%' ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayPurchaseAmountFirstDay"'>
|
|
|
+ IFNULL(SUM( d.event_pay_purchase_amount_first_day ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "eventPayFirstDayRoi"'>
|
|
|
+ IFNULL(SUM( d.event_pay_first_day_roi ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCount"'>
|
|
|
+ IFNULL(SUM( d.form_count ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "formCountPrice"'>
|
|
|
+ IFNULL(ROUND( SUM( d.charge ) / SUM( d.form_count ), 2 ),0) AS data,
|
|
|
+ </if>
|
|
|
+ <if test='type == "photoShow"'>
|
|
|
+ IFNULL(SUM(d.`show`),0) as data
|
|
|
+ </if>
|
|
|
+ d.account_id as accountId
|
|
|
FROM
|
|
|
application.kuaishou_account_report_daily_dw d
|
|
|
<where>
|