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
86532a11
Commit
86532a11
authored
Aug 25, 2020
by
赵建伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'weiyimin' into 'master'
Weiyimin See merge request
!51
parents
236accba
2646d22e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
108 additions
and
7 deletions
+108
-7
clue_daily.sql
pm/clue_daily/etl/clue_daily.sql
+89
-0
create_clue_daily.sql
pm/clue_daily/etl/create_clue_daily.sql
+3
-1
clue_daily.sql
pm/clue_daily/report/clue_daily.sql
+10
-0
clue_by_channel.sql
pm/wel_clue_by_channel/report/clue_by_channel.sql
+3
-3
welfare_by_channel.sql
pm/wel_clue_by_channel/report/welfare_by_channel.sql
+3
-3
No files found.
pm/clue_daily/etl/clue_daily.sql
View file @
86532a11
...
...
@@ -20,6 +20,8 @@ SELECT T1.partition_date as day_id
,
T1
.
grey_type
,
dau
,
user_num
,
total_valid_dev
,
total_valid_num
,
msg_dev
,
msg_num
,
valid_msg_dev
...
...
@@ -87,6 +89,9 @@ FROM
,
grey_type
,
count
(
distinct
mas
.
device_id
)
as
dau
,
count
(
distinct
a
.
user_id
)
as
user_num
,
nvl
(
count
(
distinct
case
when
t13_v
.
total_valid_num
>
0
then
t13_v
.
user_id
end
),
0
)
total_valid_dev
,
nvl
(
sum
(
t13_v
.
total_valid_num
),
0
)
total_valid_num
,
nvl
(
count
(
distinct
case
when
t1
.
msg_num
>
0
then
t1
.
user_id
end
),
0
)
msg_dev
,
nvl
(
sum
(
t1
.
msg_num
),
0
)
msg_num
,
nvl
(
count
(
distinct
case
when
t1_v
.
valid_msg_num
>
0
then
t1_v
.
user_id
end
),
0
)
valid_msg_dev
...
...
@@ -1089,6 +1094,90 @@ FROM
GROUP
BY
user_id
,
partition_date
)
t12_v
ON
a
.
partition_date
=
t12_v
.
partition_date
and
a
.
user_id
=
t12_v
.
user_id
left
join
(
SELECT
partition_date
,
user_id
,
sum
(
valid_num
)
as
total_valid_num
from
(
---拨打有效电话线索
SELECT
partition_date
,
user_id
,
count
(
1
)
as
valid_num
FROM
(
SELECT
user_id
,
merchant_id
,
regexp_replace
(
SUBSTR
(
a
.
partition_date
,
1
,
6
),
'-'
,
''
)
AS
CALL_MONTH
,
MIN
(
partition_date
)
as
partition_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
),
'-'
,
''
)
>=
REGEXP_REPLACE
(
trunc
(
date_sub
(
current_date
(),
1
),
'MM'
),
'-'
,
''
)
AND
REGEXP_REPLACE
(
SUBSTR
(
call_time
,
0
,
10
),
'-'
,
''
)
<=
regexp_replace
(
date_sub
(
current_date
(),
1
),
'-'
,
''
)
and
start_time
>
call_time
and
start_time
<
release_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
),
'-'
,
''
)
)
t1
join
(
SELECT
distinct
merchant_id
FROM
(
SELECT
merchant_id
,
merchant_level
,
row_number
()
over
(
partition
by
merchant_id
order
by
data_month
desc
)
as
rn
FROM
online
.
al_business_merchant_grade_day_repo
where
partition_date
=
regexp_replace
(
date_sub
(
current_date
,
1
),
'-'
,
''
)
)
a
where
rn
=
1
and
merchant_level
>=
3
)
b
on
t1
.
merchant_id
=
b
.
merchant_id
GROUP
BY
user_id
,
partition_date
union
all
SELECT
msg
.
partition_date
,
user_id
,
count
(
msg
.
merchant_id
)
as
valid_num
FROM
(
SELECT
user_id
,
merchant_id
,
SUBSTR
(
partition_day
,
1
,
6
)
AS
MONTH
,
min
(
partition_day
)
as
partition_date
FROM
ml
.
ml_c_et_msg_conversation_dimen_inc_d
--新仓库私信表
WHERE
partition_day
>=
REGEXP_REPLACE
(
trunc
(
date_sub
(
current_date
(),
1
),
'MM'
),
'-'
,
''
)
AND
partition_day
<=
regexp_replace
(
date_sub
(
current_date
,
1
),
'-'
,
''
)
and
is_valid
=
'true'
GROUP
BY
user_id
,
merchant_id
,
SUBSTR
(
partition_day
,
1
,
6
)
)
msg
GROUP
BY
msg
.
partition_date
,
user_id
)
a
group
by
partition_date
,
user_id
)
t13_v
ON
a
.
partition_date
=
t13_v
.
partition_date
and
a
.
user_id
=
t13_v
.
user_id
group
by
mas
.
partition_date
,
device_os_type
,
active_type
,
grey_type
)
T1
LEFT
JOIN
...
...
pm/clue_daily/etl/create_clue_daily.sql
View file @
86532a11
...
...
@@ -21,7 +21,9 @@ CREATE TABLE IF NOT EXISTS pm.tl_pm_userclue_d
active_type
string
comment
'{"chs_name":"活跃类型","description":"","etl":"","value":"","remark":""}'
,
grey_type
string
comment
'{"chs_name":"灰度类型","description":"","etl":"","value":"","remark":""}'
,
dau
bigint
comment
'{"chs_name":"dau(不去除积分墙)","description":"","etl":"","value":"","remark":""}'
,
user_num
bigint
comment
'{"chs_name":"注册的用户数","description":"","etl":"","value":"","remark":""}'
,
total_valid_dev
bigint
comment
'{"chs_name":"总有效咨询设备","description":"","etl":"","value":"","remark":""}'
,
total_valid_num
bigint
comment
'{"chs_name":"总有效线索","description":"","etl":"","value":"","remark":""}'
,
msg_num
bigint
comment
'{"chs_name":"私信咨询人次-总计","description":"","etl":"","value":"","remark":""}'
,
msg_dev
bigint
comment
'{"chs_name":"私信咨询设备数-总计","description":"","etl":"","value":"","remark":""}'
,
msg_num
bigint
comment
'{"chs_name":"私信咨询人次-总计","description":"","etl":"","value":"","remark":""}'
,
valid_msg_dev
bigint
comment
'{"chs_name":"有效私信咨询设备数-总计","description":"","etl":"","value":"","remark":""}'
,
...
...
pm/clue_daily/report/clue_daily.sql
View file @
86532a11
...
...
@@ -4,14 +4,20 @@ SELECT day_id `日期`
,
grey_type
`是否灰度`
,
dau
as
`dau(不去除积分墙)`
,
user_num
as
`注册的用户数`
,
total_valid_dev
+
valid_call_dev_d
as
`总有效咨询设备(去重)`
,
total_valid_num
+
valid_call_num_d
as
`总有效线索`
,
concat
(
round
((
total_valid_dev
+
valid_call_dev_d
)
/
dau
,
2
)
*
100
,
'%'
)
as
`总有效线索设备(去重)/dau`
,
concat
(
round
((
total_valid_num
+
valid_call_num_d
)
/
dau
,
2
)
*
100
,
'%'
)
as
`总有效线索/dau`
,
msg_dev
as
`私信咨询设备数-总计`
,
msg_num
as
`私信咨询人次-总计`
,
valid_msg_dev
as
`有效私信咨询设备数-总计`
,
valid_msg_num
as
`有效私信咨询人次-总计`
,
concat
(
round
(
valid_msg_num
/
msg_num
,
2
)
*
100
,
'%'
)
as
`有效私信咨询人次/私信咨询人次`
,
clue_dev
as
`授权电话线索设备数-总计`
,
clue_num
as
`授权电话线索人次-总计`
,
call_dev
+
call_dev_d
as
`拨打电话线索设备数-总计`
,
call_num
+
call_num_d
as
`拨打电话线索人次-总计`
,
concat
(
round
((
call_num
+
call_num_d
)
/
clue_num
,
2
)
*
100
,
'%'
)
as
`拨打电话人次/授权电话人次`
,
valid_call_dev
+
valid_call_dev_d
as
`有效电话线索设备数-总计`
,
valid_call_num
+
valid_call_num_d
as
`有效电话线索人次-总计`
,
call_dev
as
`当天拨打电话线索设备数-总计`
...
...
@@ -21,14 +27,18 @@ SELECT day_id `日期`
,
msg_dev_3
`私信咨询设备数-3级以上商户`
,
msg_num_3
`私信咨询人次-3级以上商户`
,
concat
(
round
(
msg_num_3
/
msg_num
,
2
)
*
100
,
'%'
)
as
`私信咨询人次-3级以上/私信咨询人次`
,
valid_msg_dev_3
`有效私信咨询设备数-3级以上商户`
,
valid_msg_num_3
as
`有效私信咨询人次-3级以上商户`
,
clue_dev_3
as
`授权电话线索设备数-3级以上商户`
,
clue_num_3
as
`授权电话线索人次-3级以上商户`
,
concat
(
round
(
clue_num_3
/
clue_num
,
2
)
*
100
,
'%'
)
as
`授权电话线索-3级以上/授权电话线索`
,
call_dev_3
+
call_dev_3_d
as
`拨打电话线索设备数-3级以上商户`
,
call_num_3
+
valid_call_num_3
as
`拨打电话线索人次-3级以上商户`
,
concat
(
round
((
call_num_3
+
valid_call_num_3
)
/
clue_num_3
,
2
)
*
100
,
'%'
)
as
`拨打电话线索人次-3级以上/授权电话线索人次-3级以上`
,
valid_call_dev_3
+
valid_call_dev_3_d
as
`有效电话线索设备数-3级以上商户`
,
valid_call_num_3
+
valid_call_num_3_d
as
`有效电话线索人次-3级以上商户`
,
concat
(
round
((
valid_call_num_3
+
valid_call_num_3_d
)
/
clue_num_3
,
2
)
*
100
,
'%'
)
as
`有效电话线索人次-3级以上/授权电话线索人次-3级以上`
,
call_dev_3
as
`当天拨打电话线索设备数-3级以上商户`
,
call_num_3
as
`当天拨打电话线索人次-3级以上商户`
,
valid_call_dev_3
as
`当天有效电话线索设备数-3级以上商户`
...
...
pm/wel_clue_by_channel/report/clue_by_channel.sql
View file @
86532a11
...
...
@@ -3,9 +3,9 @@ SELECT
,
channel
as
`渠道`
,
device_os_type
as
`平台`
,
COUNT
(
DISTINCT
device
.
device_id
)
AS
`当天新活量`
,
SUM
(
IF
(
valid
.
date_day
=
device
.
first_active_date
,
valid
.
clue_num
,
NULL
))
AS
validUV_1
,
SUM
(
IF
(
valid
.
date_day
>=
device
.
first_active_date
AND
valid
.
date_day
<=
date_add
(
device
.
first_active_date
,
2
),
valid
.
clue_num
,
NULL
))
AS
validUV_3
,
SUM
(
IF
(
valid
.
date_day
>=
device
.
first_active_date
AND
valid
.
date_day
<=
date_add
(
device
.
first_active_date
,
6
),
valid
.
clue_num
,
NULL
))
AS
validUV_7
,
nvl
(
SUM
(
IF
(
valid
.
date_day
=
device
.
first_active_date
,
valid
.
clue_num
,
NULL
)),
0
)
AS
`当天有效线索`
,
nvl
(
SUM
(
IF
(
valid
.
date_day
>=
device
.
first_active_date
AND
valid
.
date_day
<=
date_add
(
device
.
first_active_date
,
2
),
valid
.
clue_num
,
NULL
)),
0
)
AS
`3日内有效线索`
,
nvl
(
SUM
(
IF
(
valid
.
date_day
>=
device
.
first_active_date
AND
valid
.
date_day
<=
date_add
(
device
.
first_active_date
,
6
),
valid
.
clue_num
,
NULL
)),
0
)
AS
`7日内有效线索`
FROM
(
SELECT
...
...
pm/wel_clue_by_channel/report/welfare_by_channel.sql
View file @
86532a11
...
...
@@ -3,9 +3,9 @@ SELECT
,
channel
as
`渠道`
,
device_os_type
as
`平台`
,
COUNT
(
DISTINCT
device
.
device_id
)
AS
`当天新活量`
,
SUM
(
IF
(
pv
.
action_date
=
device
.
first_active_date
,
pv
.
wel_pv
,
NULL
))
AS
meigouPV_1
,
SUM
(
IF
(
pv
.
action_date
>=
device
.
first_active_date
AND
pv
.
action_date
<=
date_add
(
device
.
first_active_date
,
2
),
pv
.
wel_pv
,
NULL
))
AS
meigouPV_3
,
SUM
(
IF
(
pv
.
action_date
>=
device
.
first_active_date
AND
pv
.
action_date
<=
date_add
(
device
.
first_active_date
,
6
),
pv
.
wel_pv
,
NULL
))
AS
meigouPV_7
,
nvl
(
SUM
(
IF
(
pv
.
action_date
=
device
.
first_active_date
,
pv
.
wel_pv
,
NULL
)),
0
)
AS
`当日核心页pv`
,
nvl
(
SUM
(
IF
(
pv
.
action_date
>=
device
.
first_active_date
AND
pv
.
action_date
<=
date_add
(
device
.
first_active_date
,
2
),
pv
.
wel_pv
,
NULL
)),
0
)
AS
`3日内核心页pv`
,
nvl
(
SUM
(
IF
(
pv
.
action_date
>=
device
.
first_active_date
AND
pv
.
action_date
<=
date_add
(
device
.
first_active_date
,
6
),
pv
.
wel_pv
,
NULL
)),
0
)
AS
`7日内核心页pv`
FROM
(
SELECT
...
...
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