Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
bi-report
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
data
bi-report
Commits
70981c87
Commit
70981c87
authored
Sep 24, 2020
by
yindanlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add icon_function_day report codes
parent
627d10ae
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
0 additions
and
481 deletions
+0
-481
en-cn.properties
pm/fangan_day/en-cn.properties
+0
-2
create_fangan_day.sql
pm/fangan_day/etl/create_fangan_day.sql
+0
-43
fangan_day.sql
pm/fangan_day/etl/fangan_day.sql
+0
-410
fangan_day.zip
pm/fangan_day/job/fangan_day.zip
+0
-0
step3.job
pm/fangan_day/job/step3.job
+0
-5
fangan_day.sql
pm/fangan_day/report/fangan_day.sql
+0
-21
yeji.zip
pm/yeji_day/job/yeji.zip
+0
-0
No files found.
pm/fangan_day/en-cn.properties
deleted
100644 → 0
View file @
627d10ae
fangan_day
=
方案灰度数据
\ No newline at end of file
pm/fangan_day/etl/create_fangan_day.sql
deleted
100644 → 0
View file @
627d10ae
--***************************************************************
--*脚本名称:
--*功能: 方案灰度数据
--*业务名称: pm
--*输入数据:
--*作者: yindanlei@igengmei.com
--*更新时间:2020-07-24
--***************************************************************
--设置全局变量&UDF
SET
mapreduce
.
job
.
queuename
=
data
;
--使用bl数据库
USE
pm
;
--创建BL层内部表
CREATE
TABLE
IF
NOT
EXISTS
pm
.
tl_pm_fangan_d
(
day_id
string
comment
'{"chs_name":"日期","description":"","etl":"","value":"","remark":""}'
,
grey_type
string
comment
'{"chs_name":"灰度类型","description":"","etl":"","value":"","remark":""}'
,
DAU_730
BIGINT
comment
'{"chs_name":"7.30及以上版本DAU","description":"","etl":"","value":"","remark":""}'
,
new_DAU
BIGINT
comment
'{"chs_name":"新增DAU","description":"","etl":"","value":"","remark":""}'
,
old_DAU
BIGINT
comment
'{"chs_name":"老活DAU","description":"","etl":"","value":"","remark":""}'
,
quanzhong_DAU
BIGINT
comment
'{"chs_name":"权重日活","description":"","etl":"","value":"","remark":""}'
,
liucun_1
DOUBLE
comment
'{"chs_name":"次日留存率(%)","description":"","etl":"","value":"","remark":""}'
,
liucun_3
DOUBLE
comment
'{"chs_name":"3日留存率(%)","description":"","etl":"","value":"","remark":""}'
,
liucun_7
DOUBLE
comment
'{"chs_name":"7日留存率(%)","description":"","etl":"","value":"","remark":""}'
,
wel_pv
BIGINT
comment
'{"chs_name":"商详PV","description":"","etl":"","value":"","remark":""}'
,
wel_uv
BIGINT
comment
'{"chs_name":"商详UV","description":"","etl":"","value":"","remark":""}'
,
pay_num
BIGINT
comment
'{"chs_name":"支付订单数","description":"","etl":"","value":"","remark":""}'
,
valid_dev_num
BIGINT
comment
'{"chs_name":"有效线索设备数","description":"","etl":"","value":"","remark":""}'
,
valid_pv
BIGINT
comment
'{"chs_name":"有效线索人次","description":"","etl":"","value":"","remark":""}'
,
true_valid_dev_num
BIGINT
comment
'{"chs_name":"真实用户有效线索设备数","description":"","etl":"","value":"","remark":""}'
,
true_valid_pv
BIGINT
comment
'{"chs_name":"真实用户有效线索人次","description":"","etl":"","value":"","remark":""}'
)
comment
'方案灰度数据'
PARTITIONED
BY
(
PARTITION_DAY
STRING
comment
'分区日期'
)
ROW
FORMAT
DELIMITED
FIELDS
TERMINATED
BY
'
\t
'
COLLECTION
ITEMS
TERMINATED
BY
'
\0
02'
MAP
KEYS
TERMINATED
BY
'
\0
03'
LINES
TERMINATED
BY
'
\n
'
STORED
AS
TEXTFILE
;
\ No newline at end of file
pm/fangan_day/etl/fangan_day.sql
deleted
100644 → 0
View file @
627d10ae
SET
mapreduce
.
job
.
queuename
=
data
;
SET
mapreduce
.
map
.
memory
.
mb
=
8192
;
SET
mapreduce
.
map
.
java
.
opts
=-
Xmx8000m
;
SET
mapreduce
.
reduce
.
memory
.
mb
=
8192
;
SET
mapreduce
.
reduce
.
java
.
opts
=-
Xmx8000m
;
set
hive
.
auto
.
convert
.
join
=
true
;
SET
mapred
.
reduce
.
tasks
=
20
;
SET
role
admin
;
ADD
JAR
hdfs
:
///
user
/
hive
/
share
/
lib
/
udf
/
hive
-
udf
-
1
.
0
-
SNAPSHOT
.
jar
;
CREATE
TEMPORARY
FUNCTION
convup
AS
'com.gmei.hive.common.udf.UDFConvUpgrade'
;
--进制转换函数,支持各种进制转换
CREATE
TEMPORARY
FUNCTION
setencryption
AS
'com.gmei.hive.common.udf.UDFStringSetEncryption'
;
--哈希函数,支持MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512
INSERT
OVERWRITE
TABLE
pm
.
tl_pm_fangan_d
PARTITION
(
PARTITION_DAY
=
${
partition_day
}
)
SELECT
t1
.
partition_date
as
day_id
,
grey_type
,
count
(
DISTINCT
t1
.
device_id
)
as
DAU_730
,
count
(
DISTINCT
CASE
WHEN
device_type
=
'新增'
THEN
t1
.
device_id
END
)
as
new_DAU
,
count
(
DISTINCT
CASE
WHEN
device_type
=
'老活'
THEN
t1
.
device_id
END
)
as
old_DAU
,
round
(
count
(
DISTINCT
CASE
WHEN
device_type
=
'老活'
AND
device_os_type
=
'android'
AND
channel_type
=
'AI'
THEN
t1
.
device_id
END
)
*
0
.
16
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'老活'
AND
device_os_type
=
'android'
AND
channel_type
=
'医美'
THEN
t1
.
device_id
END
)
*
0
.
70
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'新增'
AND
device_os_type
=
'android'
AND
channel_type
=
'AI'
THEN
t1
.
device_id
END
)
*
0
.
10
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'新增'
AND
device_os_type
=
'android'
AND
channel_type
=
'医美'
THEN
t1
.
device_id
END
)
*
0
.
20
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'老活'
AND
device_os_type
=
'ios'
AND
channel_type
=
'AI'
THEN
t1
.
device_id
END
)
*
0
.
35
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'老活'
AND
device_os_type
=
'ios'
AND
channel_type
=
'医美'
THEN
t1
.
device_id
END
)
*
1
.
00
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'新增'
AND
device_os_type
=
'ios'
AND
channel_type
=
'AI'
THEN
t1
.
device_id
END
)
*
0
.
21
+
count
(
DISTINCT
CASE
WHEN
device_type
=
'新增'
AND
device_os_type
=
'ios'
AND
channel_type
=
'医美'
THEN
t1
.
device_id
END
)
*
0
.
21
,
0
)
as
quanzhong_DAU
,
round
(
sum
(
t1
.
rent1_num
)
/
count
(
DISTINCT
t1
.
device_id
)
*
100
,
2
)
as
liucun_1
,
round
(
sum
(
t1
.
rent3_num
)
/
count
(
DISTINCT
t1
.
device_id
)
*
100
,
2
)
as
liucun_3
,
round
(
sum
(
t1
.
rent7_num
)
/
count
(
DISTINCT
t1
.
device_id
)
*
100
,
2
)
as
liucun_7
,
sum
(
wel_pv
)
as
wel_pv
,
count
(
DISTINCT
CASE
WHEN
wel_pv
is
not
NULL
and
wel_pv
<>
0
THEN
t3
.
cl_id
END
)
as
wel_uv
,
sum
(
pay_num
)
as
pay_num
,
count
(
DISTINCT
t5
.
device_id
)
as
valid_dev_num
,
sum
(
t5
.
clue_num
)
as
valid_pv
,
count
(
DISTINCT
t6
.
device_id
)
as
true_valid_dev_num
,
sum
(
t6
.
clue_num
)
as
true_valid_pv
FROM
(
SELECT
t1
.
partition_date
,
t1
.
device_id
,
device_type
,
device_os_type
,
channel_type
,
grey_type
,
count
(
DISTINCT
CASE
WHEN
date_add
(
t1
.
partition_date
,
1
)
=
t
.
partition_date
THEN
t
.
device_id
END
)
as
rent1_num
,
count
(
DISTINCT
CASE
WHEN
date_add
(
t1
.
partition_date
,
3
)
=
t
.
partition_date
THEN
t
.
device_id
END
)
as
rent3_num
,
count
(
DISTINCT
CASE
WHEN
date_add
(
t1
.
partition_date
,
7
)
=
t
.
partition_date
THEN
t
.
device_id
END
)
as
rent7_num
FROM
(
---dau数据
SELECT
concat_ws
(
'-'
,
substr
(
partition_date
,
1
,
4
),
substr
(
partition_date
,
5
,
2
),
substr
(
partition_date
,
7
,
2
))
as
partition_date
,
device_id
,
device_os_type
,
case
WHEN
active_type
=
'4'
THEN
'老活'
WHEN
active_type
in
(
'1'
,
'2'
)
then
'新增'
END
as
device_type
,
CASE
WHEN
(
partition_date
>=
'20200725'
AND
partition_date
<=
'20200727'
AND
substr
(
convup
(
setencryption
(
device_id
,
'sha-1'
),
16
,
10
),
-
1
)
in
(
'0'
,
'1'
))
or
(
partition_date
=
'20200724'
AND
substr
(
convup
(
setencryption
(
device_id
,
'sha-1'
),
16
,
10
),
-
1
)
in
(
'0'
,
'1'
,
'2'
,
'3'
,
'4'
))
or
(
partition_date
>=
'20200728'
AND
substr
(
convup
(
setencryption
(
device_id
,
'sha-1'
),
16
,
10
),
-
1
)
in
(
'0'
,
'1'
,
'2'
,
'3'
,
'4'
))
THEN
'测试组A(方案库)'
else
'测试组B(无方案库)'
END
as
grey_type
,
CASE
WHEN
is_ai_channel
=
'true'
THEN
'AI'
ELSE
'医美'
END
as
channel_type
FROM
online
.
ml_device_day_active_status
LEFT
JOIN
(
SELECT
code
,
is_ai_channel
,
partition_day
FROM
DIM
.
DIM_AI_CHANNEL_ZP_NEW
WHERE
partition_day
>=
'20200724'
AND
partition_day
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
))
tmp
ON
partition_date
=
tmp
.
partition_day
AND
first_channel_source_type
=
code
where
partition_date
>=
'20200724'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
active_type
in
(
'1'
,
'2'
,
'4'
)
)
t1
JOIN
(
--7.30.0 版本以上dau数据
SELECT
concat_ws
(
'-'
,
substr
(
partition_date
,
1
,
4
),
substr
(
partition_date
,
5
,
2
),
substr
(
partition_date
,
7
,
2
))
as
partition_date
,
device_id
FROM
(
SELECT
partition_date
,
app_version_list
,
device_id
FROM
online
.
ml_device_updates
WHERE
partition_date
>=
'20200724'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
a
LATERAL
VIEW
EXPLODE
(
app_version_list
)
t
as
app_version
WHERE
int
(
split
(
t
.
app_version
,
'
\\
.'
)[
1
])
>=
30
--版本限制为7.30.0以上
and
int
(
split
(
t
.
app_version
,
'
\\
.'
)[
0
])
=
7
GROUP
BY
partition_date
,
device_id
)
t2
ON
t1
.
partition_date
=
t2
.
partition_date
AND
t1
.
device_id
=
t2
.
device_id
LEFT
JOIN
(
SELECT
device_id
,
concat_ws
(
'-'
,
substr
(
partition_date
,
1
,
4
),
substr
(
partition_date
,
5
,
2
),
substr
(
partition_date
,
7
,
2
))
as
partition_date
FROM
online
.
ml_device_day_active_status
WHERE
partition_date
>=
'20200724'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
t
on
t1
.
device_id
=
t
.
device_id
GROUP
BY
t1
.
partition_date
,
t1
.
device_id
,
device_type
,
grey_type
,
device_os_type
,
channel_type
)
t1
LEFT
JOIN
(
--商详页pv
SELECT
concat_ws
(
'-'
,
substr
(
partition_date
,
1
,
4
),
substr
(
partition_date
,
5
,
2
),
substr
(
partition_date
,
7
,
2
))
as
partition_date
,
cl_id
,
count
(
1
)
as
wel_pv
FROM
online
.
bl_hdfs_maidian_updates
where
partition_date
>=
'20200724'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
and
page_name
=
'welfare_detail'
and
action
=
'page_view'
AND
int
(
split
(
app_version
,
'
\\
.'
)[
1
])
>=
30
AND
int
(
split
(
app_version
,
'
\\
.'
)[
0
])
=
7
GROUP
BY
partition_date
,
cl_id
)
t3
ON
t1
.
partition_date
=
t3
.
partition_date
AND
t1
.
device_id
=
t3
.
cl_id
LEFT
JOIN
(
--纯用户支付订单数
SELECT
device_id
,
SUBSTR
(
pay_time
,
1
,
10
)
as
pay_date
,
count
(
DISTINCT
order_id
)
as
pay_num
FROM
online
.
ml_trade_order_detail_day
--美购交易表
WHERE
partition_date
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
REGEXP_REPLACE
(
SUBSTR
(
pay_time
,
1
,
10
),
'-'
,
''
)
>=
'20200724'
AND
REGEXP_REPLACE
(
SUBSTR
(
pay_time
,
1
,
10
),
'-'
,
''
)
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
is_pure_user
=
'true'
--取纯用户
GROUP
BY
device_id
,
SUBSTR
(
pay_time
,
1
,
10
)
)
t4
ON
t1
.
partition_date
=
t4
.
pay_date
AND
t1
.
device_id
=
t4
.
device_id
LEFT
JOIN
(
--有效线索数和线索人次
SELECT
from_unixtime
(
unix_timestamp
(
T1
.
DATA_DAY
,
'yyyyMMdd'
),
'yyyy-MM-dd'
)
dt
,
device_id
,
count
(
1
)
AS
clue_num
FROM
(
SELECT
NVL
(
T1
.
USER_ID
,
T2
.
USER_ID
)
AS
USER_ID
,
NVL
(
T1
.
merchant_id
,
T2
.
merchant_id
)
AS
merchant_id
,
NVL
(
T1
.
DATA_MONTH
,
T2
.
CALL_MONTH
)
AS
DATA_MONTH
,
least
(
NVL
(
DATA_DAY
,
'99999999'
),
NVL
(
FIRST_CALL_DATE
,
'99999999'
))
AS
DATA_DAY
,
NVL
(
T1
.
CONSULT_NUM
,
0
)
AS
CONSULT_NUM
,
NVL
(
T1
.
PAY_NUM
,
0
)
AS
PAY_NUM
,
NVL
(
T2
.
call_num
,
0
)
AS
CALL_NUM
FROM
(
SELECT
NVL
(
T3
.
USER_ID
,
T4
.
USER_ID
)
AS
USER_ID
,
NVL
(
T3
.
merchant_id
,
T4
.
merchant_id
)
AS
merchant_id
,
NVL
(
T3
.
CONSULT_MONTH
,
T4
.
PAY_MONTH
)
AS
DATA_MONTH
,
least
(
NVL
(
first_consult_date
,
'99999999'
),
NVL
(
FIRST_PAY_DATE
,
'99999999'
))
AS
DATA_DAY
,
NVL
(
T3
.
CONSULT_NUM
,
0
)
AS
CONSULT_NUM
,
NVL
(
T4
.
PAY_NUM
,
0
)
AS
PAY_NUM
FROM
(
SELECT
user_id
,
merchant_id
,
substr
(
partition_day
,
1
,
6
)
AS
consult_month
,
min
(
partition_day
)
AS
first_consult_date
,
1
AS
consult_num
FROM
ml
.
ML_C_ET_MSG_CONVERSATION_DIMEN_INC_D
WHERE
partition_day
between
'20200701'
AND
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
is_valid
=
'true'
AND
merchant_id
IS
NOT
NULL
GROUP
BY
user_id
,
merchant_id
,
substr
(
partition_day
,
1
,
6
)
)
T3
FULL
JOIN
(
SELECT
T
.
USER_ID
,
T
.
merchant_id
,
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
7
),
'-'
,
''
)
AS
PAY_MONTH
,
MIN
(
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
10
),
'-'
,
''
))
AS
FIRST_PAY_DATE
,
1
AS
PAY_NUM
FROM
ONLINE
.
ML_TRADE_ORDER_DETAIL_DAY
T
WHERE
T
.
PARTITION_DATE
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
T
.
PAY_DATE
between
'2020-07-01'
AND
date_sub
(
current_date
(),
1
)
AND
T
.
is_pure_user
=
'true'
GROUP
BY
T
.
USER_ID
,
T
.
merchant_id
,
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
7
),
'-'
,
''
)
)
T4
ON
T3
.
USER_ID
=
T4
.
USER_ID
AND
T3
.
merchant_id
=
T4
.
merchant_id
AND
T3
.
CONSULT_MONTH
=
T4
.
PAY_MONTH
GROUP
BY
NVL
(
T3
.
USER_ID
,
T4
.
USER_ID
),
NVL
(
T3
.
merchant_id
,
T4
.
merchant_id
),
NVL
(
T3
.
CONSULT_MONTH
,
T4
.
PAY_MONTH
),
least
(
NVL
(
first_consult_date
,
'99999999'
),
NVL
(
FIRST_PAY_DATE
,
'99999999'
)),
NVL
(
T3
.
CONSULT_NUM
,
0
),
NVL
(
T4
.
PAY_NUM
,
0
)
)
T1
FULL
JOIN
(
SELECT
user_id
,
merchant_id
,
regexp_replace
(
SUBSTR
(
a
.
partition_date
,
1
,
6
),
'-'
,
''
)
AS
CALL_MONTH
,
MIN
(
partition_date
)
as
FIRST_CALL_DATE
,
1
AS
call_num
FROM
(
SELECT
sub_id
,
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
as
partition_date
FROM
tl
.
tl_gm_sl_ali_virtual_phone_call_detail
--通话记录表,call_type呼叫类型
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
>=
'20200701'
AND
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
release_time
>
start_time
)
a
LEFT
JOIN
(
SELECT
id
,
sub_id
FROM
tl
.
tl_gm_sl_ali_virtual_phone_binding
--阿里记录表
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
b
ON
a
.
sub_id
=
b
.
sub_id
LEFT
JOIN
(
SELECT
id
,
platform_binding_id
FROM
tl
.
tl_gm_sl_virtual_phone_binding
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
c
ON
b
.
id
=
c
.
platform_binding_id
LEFT
JOIN
(
SELECT
phone_binding_id
,
lead_task_id
FROM
tl
.
tl_gm_sl_lead_task_phone_binding
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
d
ON
c
.
id
=
d
.
phone_binding_id
JOIN
(
SELECT
id
,
user_id
,
merchant_id
FROM
tl
.
tl_gm_sl_lead_task
--线索任务表(用户点击授权后记入该表)
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
source
=
'2'
--用户行为电话授权
)
e
ON
d
.
lead_task_id
=
e
.
id
GROUP
BY
user_id
,
merchant_id
,
regexp_replace
(
SUBSTR
(
a
.
partition_date
,
1
,
6
),
'-'
,
''
)
)
T2
ON
T1
.
USER_ID
=
T2
.
USER_ID
AND
T1
.
merchant_id
=
T2
.
merchant_id
AND
T1
.
DATA_MONTH
=
T2
.
CALL_MONTH
)
T1
JOIN
(
--找出user_id当天活跃的第一个设备id
SELECT
user_id
,
partition_date
,
if
(
size
(
device_list
)
>
0
,
device_list
[
0
],
''
)
AS
device_id
FROM
online
.
ml_user_updates
WHERE
partition_date
>=
'20200724'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
T2
ON
T1
.
USER_ID
=
T2
.
USER_ID
AND
T1
.
DATA_DAY
=
T2
.
PARTITION_DATE
GROUP
BY
from_unixtime
(
unix_timestamp
(
T1
.
DATA_DAY
,
'yyyyMMdd'
),
'yyyy-MM-dd'
),
device_id
)
t5
ON
t1
.
partition_date
=
t5
.
dt
AND
t1
.
device_id
=
t5
.
device_id
LEFT
JOIN
(
--有效线索分日数据
SELECT
from_unixtime
(
unix_timestamp
(
T1
.
DATA_DAY
,
'yyyyMMdd'
),
'yyyy-MM-dd'
)
dt
,
dev
.
device_id
,
count
(
1
)
AS
clue_num
FROM
(
SELECT
NVL
(
T1
.
USER_ID
,
T2
.
USER_ID
)
AS
USER_ID
,
NVL
(
T1
.
merchant_id
,
T2
.
merchant_id
)
AS
merchant_id
,
NVL
(
T1
.
DATA_MONTH
,
T2
.
CALL_MONTH
)
AS
DATA_MONTH
,
least
(
NVL
(
DATA_DAY
,
'99999999'
),
NVL
(
FIRST_CALL_DATE
,
'99999999'
))
AS
DATA_DAY
,
NVL
(
T1
.
CONSULT_NUM
,
0
)
AS
CONSULT_NUM
,
NVL
(
T1
.
PAY_NUM
,
0
)
AS
PAY_NUM
,
NVL
(
T2
.
call_num
,
0
)
AS
CALL_NUM
FROM
(
SELECT
NVL
(
T3
.
USER_ID
,
T4
.
USER_ID
)
AS
USER_ID
,
NVL
(
T3
.
merchant_id
,
T4
.
merchant_id
)
AS
merchant_id
,
NVL
(
T3
.
CONSULT_MONTH
,
T4
.
PAY_MONTH
)
AS
DATA_MONTH
,
least
(
NVL
(
first_consult_date
,
'99999999'
),
NVL
(
FIRST_PAY_DATE
,
'99999999'
))
AS
DATA_DAY
,
NVL
(
T3
.
CONSULT_NUM
,
0
)
AS
CONSULT_NUM
,
NVL
(
T4
.
PAY_NUM
,
0
)
AS
PAY_NUM
FROM
(
SELECT
user_id
,
merchant_id
,
substr
(
partition_day
,
1
,
6
)
AS
consult_month
,
min
(
partition_day
)
AS
first_consult_date
,
1
AS
consult_num
FROM
ml
.
ML_C_ET_MSG_CONVERSATION_DIMEN_INC_D
WHERE
partition_day
between
'20200701'
AND
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
is_valid
=
'true'
AND
merchant_id
IS
NOT
NULL
GROUP
BY
user_id
,
merchant_id
,
substr
(
partition_day
,
1
,
6
)
)
T3
FULL
JOIN
(
SELECT
T
.
USER_ID
,
T
.
merchant_id
,
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
7
),
'-'
,
''
)
AS
PAY_MONTH
,
MIN
(
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
10
),
'-'
,
''
))
AS
FIRST_PAY_DATE
,
1
AS
PAY_NUM
FROM
ONLINE
.
ML_TRADE_ORDER_DETAIL_DAY
T
WHERE
T
.
PARTITION_DATE
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
T
.
PAY_DATE
between
'2020-07-01'
AND
date_sub
(
current_date
(),
1
)
AND
T
.
is_pure_user
=
'true'
GROUP
BY
T
.
USER_ID
,
T
.
merchant_id
,
regexp_replace
(
SUBSTR
(
T
.
PAY_DATE
,
1
,
7
),
'-'
,
''
)
)
T4
ON
T3
.
USER_ID
=
T4
.
USER_ID
AND
T3
.
merchant_id
=
T4
.
merchant_id
AND
T3
.
CONSULT_MONTH
=
T4
.
PAY_MONTH
GROUP
BY
NVL
(
T3
.
USER_ID
,
T4
.
USER_ID
),
NVL
(
T3
.
merchant_id
,
T4
.
merchant_id
),
NVL
(
T3
.
CONSULT_MONTH
,
T4
.
PAY_MONTH
),
least
(
NVL
(
first_consult_date
,
'99999999'
),
NVL
(
FIRST_PAY_DATE
,
'99999999'
)),
NVL
(
T3
.
CONSULT_NUM
,
0
),
NVL
(
T4
.
PAY_NUM
,
0
)
)
T1
FULL
JOIN
(
SELECT
user_id
,
merchant_id
,
regexp_replace
(
SUBSTR
(
a
.
partition_date
,
1
,
6
),
'-'
,
''
)
AS
CALL_MONTH
,
MIN
(
partition_date
)
as
FIRST_CALL_DATE
,
1
AS
call_num
FROM
(
SELECT
sub_id
,
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
as
partition_date
FROM
tl
.
tl_gm_sl_ali_virtual_phone_call_detail
--通话记录表,call_type呼叫类型
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
>=
'20200701'
AND
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
release_time
>
start_time
)
a
LEFT
JOIN
(
SELECT
id
,
sub_id
FROM
tl
.
tl_gm_sl_ali_virtual_phone_binding
--阿里记录表
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
b
ON
a
.
sub_id
=
b
.
sub_id
LEFT
JOIN
(
SELECT
id
,
platform_binding_id
FROM
tl
.
tl_gm_sl_virtual_phone_binding
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
c
ON
b
.
id
=
c
.
platform_binding_id
LEFT
JOIN
(
SELECT
phone_binding_id
,
lead_task_id
FROM
tl
.
tl_gm_sl_lead_task_phone_binding
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
d
ON
c
.
id
=
d
.
phone_binding_id
JOIN
(
SELECT
id
,
user_id
,
merchant_id
FROM
tl
.
tl_gm_sl_lead_task
--线索任务表(用户点击授权后记入该表)
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
source
=
'2'
--用户行为电话授权
)
e
ON
d
.
lead_task_id
=
e
.
id
GROUP
BY
user_id
,
merchant_id
,
regexp_replace
(
SUBSTR
(
a
.
partition_date
,
1
,
6
),
'-'
,
''
)
)
T2
ON
T1
.
USER_ID
=
T2
.
USER_ID
AND
T1
.
merchant_id
=
T2
.
merchant_id
AND
T1
.
DATA_MONTH
=
T2
.
CALL_MONTH
)
T1
LEFT
JOIN
(
SELECT
user_id
FROM
(
--医生账号
SELECT
user_id
FROM
online
.
tl_hdfs_doctor_view
WHERE
partition_date
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
--马甲账号/模特用户
UNION
ALL
SELECT
user_id
FROM
ml
.
ml_c_ct_ui_user_dimen_d
WHERE
partition_day
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
(
is_puppet
=
'true'
or
is_classifyuser
=
'true'
)
UNION
ALL
--更美内网用户
SELECT
user_id
FROM
dim
.
dim_device_user_staff
UNION
ALL
--登陆过医生设备
SELECT
t1
.
user_id
FROM
(
SELECT
user_id
,
v
.
device_id
as
device_id
FROM
online
.
ml_user_history_detail
LATERAL
VIEW
EXPLODE
(
device_history_list
)
v
AS
device_id
WHERE
partition_date
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
t1
JOIN
(
SELECT
device_id
FROM
online
.
ml_device_history_detail
WHERE
partition_date
=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
is_login_doctor
=
'1'
)
t2
ON
t1
.
device_id
=
t2
.
device_id
)
a
GROUP
BY
user_id
)
T2
ON
T1
.
user_id
=
T2
.
user_id
LEFT
JOIN
(
SELECT
t
.
user_id
,
partition_date
,
if
(
size
(
t
.
device_list
)
>
0
,
device_list
[
0
],
''
)
device_id
FROM
online
.
ml_user_updates
t
WHERE
t
.
partition_date
>=
'20200701'
and
t
.
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
)
T3
ON
T1
.
user_id
=
T3
.
user_id
AND
T1
.
DATA_DAY
=
T3
.
partition_date
JOIN
(
-- 1.去掉机刷、积分墙渠道来的设备
SELECT
partition_date
,
device_id
FROM
online
.
ml_device_day_active_status
where
partition_date
>=
'20200701'
AND
partition_date
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
AND
active_type
in
(
'1'
,
'2'
,
'4'
)
)
dev
on
dev
.
device_id
=
T3
.
device_id
AND
dev
.
partition_date
=
T3
.
partition_date
WHERE
(
T2
.
user_id
is
null
or
T2
.
user_id
=
''
)
GROUP
BY
from_unixtime
(
unix_timestamp
(
T1
.
DATA_DAY
,
'yyyyMMdd'
),
'yyyy-MM-dd'
),
dev
.
device_id
)
t6
ON
t1
.
partition_date
=
t6
.
dt
AND
t1
.
device_id
=
t6
.
device_id
GROUP
BY
t1
.
partition_date
,
grey_type
pm/fangan_day/job/fangan_day.zip
deleted
100644 → 0
View file @
627d10ae
File deleted
pm/fangan_day/job/step3.job
deleted
100644 → 0
View file @
627d10ae
#step3.job
type=command
dependencies=step2
command=curl -X GET http://localhost:8553/api/report/email/fangan_day/dailiang@igengmei.com/cp-sunyinghe@igengmei.com,yindanlei@igengmei.com,pengqiang@igengmei.com
\ No newline at end of file
pm/fangan_day/report/fangan_day.sql
deleted
100644 → 0
View file @
627d10ae
--方案灰度数据
SELECT
day_id
AS
`日期`
,
grey_type
AS
`灰度类型`
,
DAU_730
AS
`7.30及以上版本DAU`
,
new_DAU
AS
`新增DAU`
,
old_DAU
AS
`老活DAU`
,
quanzhong_DAU
AS
`权重日活`
,
liucun_1
AS
`次日留存率(%)`
,
liucun_3
AS
`3日留存率(%)`
,
liucun_7
AS
`7日留存率(%)`
,
wel_pv
AS
`商详PV`
,
wel_uv
AS
`商详UV`
,
pay_num
AS
`支付订单数`
,
valid_dev_num
AS
`有效线索设备数`
,
valid_pv
AS
`有效线索人次`
,
true_valid_dev_num
AS
`真实用户有效线索设备数`
,
true_valid_pv
AS
`真实用户有效线索人次`
FROM
pm
.
tl_pm_fangan_d
where
partition_day
=
regexp_replace
(
DATE_SUB
(
current_date
,
1
)
,
'-'
,
''
)
pm/yeji_day/job/yeji.zip
deleted
100644 → 0
View file @
627d10ae
File deleted
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment