Commit edc47f3f authored by 魏艺敏's avatar 魏艺敏

push codes

parent 60dfe610
...@@ -123,13 +123,13 @@ FROM ...@@ -123,13 +123,13 @@ FROM
)mas )mas
left join left join
(--找出user_id当天活跃的第一个设备id (--找出user_id当天活跃的第一个设备id
SELECT user_id,partition_day, SELECT user_id,partition_date,
if(size(device_id_list) > 0, device_id_list [ 0 ], '') AS device_id if(size(device_list) > 0, device_list [ 0 ], '') AS device_id
FROM ml.ml_c_ct_ui_user_dimen_inc_d FROM online.ml_user_updates
WHERE partition_day>=REGEXP_REPLACE(trunc(date_sub(current_date(),1),'MM'),'-','') WHERE partition_date>=REGEXP_REPLACE(trunc(date_sub(current_date(),1),'MM'),'-','')
AND partition_day<= regexp_replace(date_sub(current_date,1),'-','') AND partition_date<= regexp_replace(date_sub(current_date,1),'-','')
)a )a
on mas.partition_date=a.partition_day and mas.device_id=a.device_id on mas.partition_date=a.partition_date and mas.device_id=a.device_id
left join left join
(--私信线索总数 (--私信线索总数
SELECT msg.partition_date,user_id SELECT msg.partition_date,user_id
...@@ -144,7 +144,7 @@ FROM ...@@ -144,7 +144,7 @@ FROM
)msg )msg
GROUP BY msg.partition_date,user_id GROUP BY msg.partition_date,user_id
)t1 )t1
ON a.partition_day = t1.partition_date and a.user_id=t1.user_id ON a.partition_date = t1.partition_date and a.user_id=t1.user_id
left join left join
(--有效私信线索总数 (--有效私信线索总数
SELECT msg.partition_date,user_id SELECT msg.partition_date,user_id
...@@ -160,7 +160,7 @@ FROM ...@@ -160,7 +160,7 @@ FROM
)msg )msg
GROUP BY msg.partition_date,user_id GROUP BY msg.partition_date,user_id
)t1_v )t1_v
ON a.partition_day = t1_v.partition_date and a.user_id=t1_v.user_id ON a.partition_date = t1_v.partition_date and a.user_id=t1_v.user_id
LEFT JOIN LEFT JOIN
( --电话线索总数 ( --电话线索总数
SELECT partition_date,user_id,count(1) AS clue_num SELECT partition_date,user_id,count(1) AS clue_num
...@@ -175,7 +175,7 @@ FROM ...@@ -175,7 +175,7 @@ FROM
)a )a
GROUP BY partition_date,user_id GROUP BY partition_date,user_id
)t2 )t2
ON a.partition_day = t2.partition_date and a.user_id=t2.user_id ON a.partition_date = t2.partition_date and a.user_id=t2.user_id
left join left join
(--kyc私信 (--kyc私信
...@@ -206,7 +206,7 @@ FROM ...@@ -206,7 +206,7 @@ FROM
)msg )msg
group by msg.partition_date,user_id group by msg.partition_date,user_id
)t4 )t4
on a.partition_day=t4.partition_date and a.user_id=t4.user_id on a.partition_date=t4.partition_date and a.user_id=t4.user_id
left join left join
(--kyc有效私信 (--kyc有效私信
SELECT msg.partition_date,user_id SELECT msg.partition_date,user_id
...@@ -237,7 +237,7 @@ FROM ...@@ -237,7 +237,7 @@ FROM
)msg )msg
group by msg.partition_date,user_id group by msg.partition_date,user_id
)t4_v )t4_v
on a.partition_day=t4_v.partition_date and a.user_id=t4_v.user_id on a.partition_date=t4_v.partition_date and a.user_id=t4_v.user_id
LEFT JOIN LEFT JOIN
( --kyc电话线索总数 ( --kyc电话线索总数
SELECT partition_date,user_id,count(1) as clue_num SELECT partition_date,user_id,count(1) as clue_num
...@@ -288,7 +288,7 @@ FROM ...@@ -288,7 +288,7 @@ FROM
)a )a
group by partition_date,user_id group by partition_date,user_id
)t5 )t5
ON a.partition_day = t5.partition_date and a.user_id=t5.user_id ON a.partition_date = t5.partition_date and a.user_id=t5.user_id
left join left join
(--需求自测私信 (--需求自测私信
...@@ -342,7 +342,7 @@ FROM ...@@ -342,7 +342,7 @@ FROM
)msg )msg
group by msg.partition_date,user_id group by msg.partition_date,user_id
)t7 )t7
on a.partition_day=t7.partition_date and a.user_id=t7.user_id on a.partition_date=t7.partition_date and a.user_id=t7.user_id
left join left join
(--需求自测有效私信 (--需求自测有效私信
SELECT msg.partition_date,user_id SELECT msg.partition_date,user_id
...@@ -396,7 +396,7 @@ FROM ...@@ -396,7 +396,7 @@ FROM
)msg )msg
group by msg.partition_date,user_id group by msg.partition_date,user_id
)t7_v )t7_v
on a.partition_day=t7_v.partition_date and a.user_id=t7_v.user_id on a.partition_date=t7_v.partition_date and a.user_id=t7_v.user_id
LEFT JOIN LEFT JOIN
( --需求自测电话线索总数 ( --需求自测电话线索总数
SELECT partition_date,user_id,count(1) as clue_num SELECT partition_date,user_id,count(1) as clue_num
...@@ -429,7 +429,7 @@ FROM ...@@ -429,7 +429,7 @@ FROM
)a )a
group by partition_date,user_id group by partition_date,user_id
)t8 )t8
ON a.partition_day = t8.partition_date and a.user_id=t8.user_id ON a.partition_date = t8.partition_date and a.user_id=t8.user_id
left join left join
(--t4以上商户私信线索总数 (--t4以上商户私信线索总数
...@@ -459,7 +459,7 @@ FROM ...@@ -459,7 +459,7 @@ FROM
on msg.merchant_id=b.merchant_id on msg.merchant_id=b.merchant_id
GROUP BY msg.partition_date,user_id GROUP BY msg.partition_date,user_id
)t10 )t10
ON a.partition_day = t10.partition_date and a.user_id=t10.user_id ON a.partition_date = t10.partition_date and a.user_id=t10.user_id
left join left join
(--t4以上商户有效私信线索总数 (--t4以上商户有效私信线索总数
SELECT msg.partition_date,user_id SELECT msg.partition_date,user_id
...@@ -489,7 +489,7 @@ FROM ...@@ -489,7 +489,7 @@ FROM
on msg.merchant_id=b.merchant_id on msg.merchant_id=b.merchant_id
GROUP BY msg.partition_date,user_id GROUP BY msg.partition_date,user_id
)t10_v )t10_v
ON a.partition_day = t10_v.partition_date and a.user_id=t10_v.user_id ON a.partition_date = t10_v.partition_date and a.user_id=t10_v.user_id
left join left join
(--t4以上商户电话线索总数 (--t4以上商户电话线索总数
SELECT partition_date,user_id,count(1) AS clue_num SELECT partition_date,user_id,count(1) AS clue_num
...@@ -518,12 +518,14 @@ FROM ...@@ -518,12 +518,14 @@ FROM
on a.merchant_id=b.merchant_id on a.merchant_id=b.merchant_id
GROUP BY partition_date,user_id GROUP BY partition_date,user_id
)t11 )t11
ON a.partition_day = t11.partition_date and a.user_id=t11.user_id ON a.partition_date = t11.partition_date and a.user_id=t11.user_id
group by mas.partition_date,device_os_type,active_type,grey_type group by mas.partition_date,device_os_type,active_type,grey_type
)T1 )T1
LEFT JOIN LEFT JOIN
( (
SELECT t3.partition_date,a.device_os_type,'老活跃设备'as active_type,a.grey_type SELECT t3.partition_date,a.device_os_type,a.grey_type
,case when b.active_type in ('1','2') then '新增设备'
when (b.active_type ='4' or b.active_type is null) then '老活跃设备' end as active_type
,count(distinct case when t3.call_num>0 then t3.user_id end) as call_dev ,count(distinct case when t3.call_num>0 then t3.user_id end) as call_dev
,sum(t3.call_num) as call_num ,sum(t3.call_num) as call_num
,count(distinct case when t3_v.valid_call_num>0 then t3_v.user_id end) as valid_call_dev ,count(distinct case when t3_v.valid_call_num>0 then t3_v.user_id end) as valid_call_dev
...@@ -553,24 +555,25 @@ LEFT JOIN ...@@ -553,24 +555,25 @@ LEFT JOIN
,array(case when substr(convup(setencryption(device_id,'sha-1'),16,10),-2,2)%20 = 0 then 'kyc灰度' else '非灰' end,'合计') as grey_type ,array(case when substr(convup(setencryption(device_id,'sha-1'),16,10),-2,2)%20 = 0 then 'kyc灰度' else '非灰' end,'合计') as grey_type
FROM FROM
( (
SELECT device_id,device_os_type,a.user_id SELECT device_id,device_os_type,a.user_id,a.partition_date
,row_number() over(partition by device_id order by a.partition_day desc) as rn ,row_number() over(partition by device_id order by a.partition_date desc) as rn
FROM FROM
( (
SELECT device_id,device_os_type,v.user_id,partition_day SELECT device_id,v.device_os_type,v.user_id,partition_date
FROM ml.mid_ml_c_ct_dv_device_inc_d FROM online.ml_device_updates
LATERAL VIEW EXPLODE(user_id_list) v as user_id LATERAL VIEW EXPLODE(user_list) v as user_id
where partition_day>='20200801' and partition_day<=regexp_replace(date_sub(current_date(),1),'-','') LATERAL VIEW EXPLODE(device_os_type) v as device_os_type
where partition_date>='20200801' and partition_date<=regexp_replace(date_sub(current_date(),1),'-','')
)a--由于要取近期该设备用过的user_id,故时间取的较长,避免用公式而将月末数据少算 )a--由于要取近期该设备用过的user_id,故时间取的较长,避免用公式而将月末数据少算
join join
( (
SELECT partition_day,user_id SELECT partition_date,user_id
FROM ml.ml_c_ct_ui_user_dimen_inc_d FROM online.ml_user_updates
where partition_day>='20200801' and partition_day<=regexp_replace(date_sub(current_date(),1),'-','') where partition_date>='20200801' and partition_date<=regexp_replace(date_sub(current_date(),1),'-','')
and size(user_phone_list)>0 and phone is not null and phone <>''
group by partition_day,user_id group by partition_date,user_id
)b )b
on a.partition_day=b.partition_day and a.user_id=b.user_id on a.partition_date=b.partition_date and a.user_id=b.user_id
)c )c
where rn=1 where rn=1
)d )d
...@@ -628,6 +631,18 @@ LEFT JOIN ...@@ -628,6 +631,18 @@ LEFT JOIN
GROUP BY user_id,partition_date GROUP BY user_id,partition_date
)t3 )t3
ON a.user_id=t3.user_id ON a.user_id=t3.user_id
left join
(
SELECT
partition_date
,device_id
,active_type
FROM online.ml_device_day_active_status
where partition_date>=REGEXP_REPLACE(trunc(date_sub(current_date(),1),'MM'),'-','')
AND partition_date<=regexp_replace(date_sub(current_date,1),'-','')
AND active_type in ('1','2','4')
)b
on t3.partition_date=b.partition_date and a.device_id=b.device_id
LEFT JOIN LEFT JOIN
( ---拨打电话线索 ( ---拨打电话线索
SELECT partition_date,user_id SELECT partition_date,user_id
...@@ -1120,9 +1135,10 @@ LEFT JOIN ...@@ -1120,9 +1135,10 @@ LEFT JOIN
GROUP BY user_id,partition_date GROUP BY user_id,partition_date
)t12_v )t12_v
ON t3.partition_date = t12_v.partition_date and t3.user_id=t12_v.user_id ON t3.partition_date = t12_v.partition_date and t3.user_id=t12_v.user_id
group by t3.partition_date,a.device_os_type,a.grey_type group by t3.partition_date,a.device_os_type,a.grey_type,case when b.active_type in ('1','2') then '新增设备'
when (b.active_type ='4' or b.active_type is null) then '老活跃设备' end
)T2 )T2
on T1.partition_date=T2.partition_date on T1.partition_date=T2.partition_date
AND T1.device_os_type=T2.device_os_type AND T1.device_os_type=T2.device_os_type
AND T1.active_type=T2.active_type AND T1.active_type=T2.active_type
AND T1.grey_type=T2.grey_type; AND T1.grey_type=T2.grey_type
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment