全篇以安卓手機通用埋點字段進行分析
1.每日活躍裝置分析
insert overwrite table dws_uv_detail_day
partition(dt="2019-12-20")
select
mid_id,
concat_ws("|",collect_set(user_id)) user_id,
concat_ws("|",collect_set(version_code)) version_code,
...from dwd_start_log
where dt="2019-12-20"
group by mid_id;
2.每週活躍裝置分析
insert overwrite table dws_uv_detail_wk
partition (wk_dt) //因為在這裡沒有給分割槽賦值,所以最後乙個欄位給這裡賦值
select mid_id,
concat_ws("|",collect_set(mid_id)) mid_id,
concat_ws("|",collect_set(user_id)) user_id,
...,
date_add(next_day("2019-12-20","mo"),-7),
date_add(next_day("2019-12-20","mo"),-1),
concat(date_add(next_day("2019-12-20","mo"),-7),"_",date_add(next_day("2019-12-20","mo"),-1))
from dws_uv_detail_day
where dt <= date_add(next_day("2019-12-20","mo"),-1) and dt >= date_add(next_day("2019-12-20","mo"),-7)
group by mid_id;
3.每月活躍裝置分析
insert overwrite table dws_uv_detail_mn
partition (mn_dt)
select mid_id,
concat_ws("|",collect_set(user_id)) user_id,
concat_ws("|",collect_set(version_code)) version_code,
...,
date_format("2019-12-20","yyyy-mm")
from dws_uv_detail_day
where date_format(dt,"yyyy-mm") = date_format("2019-12-20","yyyy-mm")
group by mid_id;
4.活躍裝置分析
insert into table ads_uv_count
select
"2019-12-20" dt, //建立日期
dc.num day_count,
wc.num wk_count,
mc.num mc_count
if(dt = date_add(next_day("2019-12-20","mo"),-1),"y","n"), //判斷建立日期是否是星期日
if(dt = last_day("2019-12-20"),"y","n") //判斷建立日期是否是月末
from
(select "2019-12-20" dt,
count(*) num
from dws_uv_detail_day
where dt="2019-12-20") dc
join
(select "2019-12-20" dt,
count(*) num
from dws_uv_detail_wk
where wk_dt=concat(date_add(next_day("2019-12-20","mo"),-7),"_",date_add(next_day("2019-12-20","mo"),-1))) wc
dc.dt = wc.dt //使用建立日期進行join
join
(select "2019-12-20" dt,
count(*) num
from dws_uv_detail_mn
where mn_dt=date_format("2019-12-20","yyyy-mm")) mc
dc.dt = wc.dt)
5.日新增明細表
insert into table dws_new_mid_day //注意這是insert into 否則理解理解日新增表可能會有誤差
select
ud.mid_id,
ud.user_id,
...,
"2019-12-20"
from
dws_uv_detail_day ud left join dws_new_mid_day nm //"2019-12-20"的日活和之前的新增使用者表所有的資料進行left join
on ud.mid_id = nm.mid_id //如果新增使用者表中沒有這個資料,就把這些使用者放進去
where ud.dt="2019-12-20" and nm.mid_id is null; //其實新增使用者表說成(使用者總表)也沒錯
6.每日新增裝置數表
insert into table ads_new_mid_count
select
create_date,
count(*)
from
dws_new_mid_day nm
where nm.create_date="2019-12-20"
group by nm.create_date;
資料分析 常用業務運營指標
本文是學習了天善學院秦路老師的課程的總結使用者 客戶生命週期 企業 產品和消費者在整個業務關係階段的週期。不同業務劃分的階段不同。傳統營銷中分為潛在使用者 興趣使用者 新客戶 老客戶 流失客戶 使用者價值 使用者貢獻 產出量 投入量 100 內容運營,比如知乎 使用者價值 貢獻1 貢獻2 比如金融行...
企業架構 分析的核心思路
對於架構分析的入口點,仍然推薦是從端到端流程分析入手,細化到業務域的端到端,再細化到3,4級流程,最終細化到epc最底層流程圖。epc流程圖既是流程,本身也是業務功能。還有一條線可能是直接從業務活動收集和組合入手,如根據業務部門,崗位角色劃分,從組織架構和崗位職責直接收集業務功能點。第一種方法既看到...
一級指標 char 易錯模型分析
1 char 字串 做函式引數出錯模型分析 比如 如下 void copy str21 char from,char to for from 0 from to to 0 字串逆序 int main char p p null char to 100 copy str21 p,to 注意,如果傳給f...