网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
| dws\_week string | 日期维度-按周 | one\_make\_dws.dim\_date |
| dws\_month string | 日期维度-按月 | one\_make\_dws.dim\_date |
| orgname | 组织机构-回访人员所属部门 | one\_make\_dws.dim\_emporg |
| posiname | 组织机构-回访人员所属岗位 | one\_make\_dws.dim\_emporg |
| posiname | 组织机构-回访人员名称 | one\_make\_dws.dim\_emporg |
| oil\_type string | 油站类型 | one\_make\_dws.dim\_oilstation |
| oil\_province | 油站所属省 | one\_make\_dws.dim\_oilstation |
| oil\_city string | 油站所属市 | one\_make\_dws.dim\_oilstation |
| oil\_county string | 油站所属区 | one\_make\_dws.dim\_oilstation |
| customer\_classify | 客户类型 | one\_make\_dws.dim\_oilstation |
| customer\_province | 客户所属省 | one\_make\_dws.dim\_oilstation |
+ 分析
- 指标
* 回访工程师数量、回访人员数量、回访人员最大数量、回访人员最小数量
+ 回访事务事实表
* 待派工数量、待出发数量、已完工数量、处理中数量
* 工单事务事实表
* 满意数量、不满意数量、态度满意数量、态度不满意数量、水平满意数量、水平不满意数量、响应速度满意数量、响应速度不满意数量、返修数量
* 回访事务事实表
- 维度
* 日期维度:天、周、月
* 日期维度表
* 组织机构维度:人员部门、人员岗位、人员姓名
* 组织机构维度表
* 油站维度:类型、省份、城市、区域
- 客户维度:类型、省份
* 油站维度表
- 数据
* 事实表
+ fact\_srv\_rtn\_visit:回访事务事实表
```
select
srv_user_id,--工程师id
vst_user_id,--回访人员id
satisfied_num,--满意个数
unsatisfied_num,--不满意个数
srv_atu_num,--态度满意个数
srv_bad_atu_num,--态度不满意个数
srv_rpr_prof_num,--水平满意个数
srv_rpr_unprof_num,--水平不满意个数
srv_high_res_num,--响应速度满意个数
srv_low_res_num,--响应速度不满意个数
rtn_rpr_num, --返修数量
wrkodr_id, --工单id
os_id,--油站id
dt --日期id
from fact_srv_rtn_visit;
```
+ fact\_worker\_order:工单事务事实表
```
select
wo_id,--工单id
wait_dispatch_num,--待派工个数
wait_departure_num,--待出发个数
alread_complete_num,--已完成个数
processing_num --正在处理个数
from fact_worker_order;
```
+ 维度表
- dim\_oilstation:油站维度表
```
select
id,--油站id
company_name,--公司名称
province_name,--省份名称
city_name,--城市名称
county_name,--区域名称
customer_classify_name,--客户名称
customer_province_name--客户省份
from dim_oilstation;
```
- dim\_date:时间维度表
```
select
date_id,--天
week_in_year_id,--周
year_month_id --月
from dim_date;
```
- dim\_emporg:组织机构维度
```
select
empid,--人员id
orgname,--部门名称
posiname,--岗位名称
empname --员工名称
from dim_emporg;
```
- 分析
```
select
srv_user_id,--工程师id
vst_user_id,--回访人员id
satisfied_num,--满意个数
unsatisfied_num,--不满意个数
srv_atu_num,--态度满意个数
srv_bad_atu_num,--态度不满意个数
srv_rpr_prof_num,--水平满意个数
srv_rpr_unprof_num,--水平不满意个数
srv_high_res_num,--响应速度满意个数
srv_low_res_num,--响应速度不满意个数
rtn_rpr_num, --返修数量
b.wait_dispatch_num,--待派工个数
b.wait_departure_num,--待出发个数
b.alread_complete_num,--已完成个数
b.processing_num, --正在处理个数
c.orgname,--部门名称
c.posiname,--岗位名称
c.empname --员工名称
wrkodr_id, --工单id
os_id,--油站id
dt --日期id
from fact_srv_rtn_visit a
join fact_worker_order b on a.wrkodr_id = b.wo_id
join one_make_dws.dim_emporg c on a.srv_user_id = c.userid
join one_make_dws.dim_oilstation d on a.os_id = d.id
join one_make_dws.dim_date e on a.dt = e.date_id;
```
-
小结
- 掌握回访主题的需求分析
12:服务域:回访主题实现
-
目标:实现回访主题表的维度指标构建
-
实施
-
建表
drop table if exists one_make_st.subj_rtn_visit; create table if not exists one_make_st.subj_rtn_visit( rtn_srv_num int comment '回访服务人员数量' ,vst_user int comment '回访人员数量' ,wait_dispatch_num bigint comment '待派工数量' ,wait_departure_num bigint comment '待出发数量' ,alread_complete_num bigint comment '已完工工单数量' ,processing_num bigint comment '正在处理工单数量' ,satisfied_num int comment '满意数量' ,unsatisfied_num int comment '不满意数量' ,srv_atu_num int comment '服务态度满意数量' ,srv_bad_atu_num int comment '服务态度不满意数量' ,srv_rpr_prof_num int comment '服务维修水平满意数量' ,srv_rpr_unprof_num int comment '服务维修水平不满意数量' ,srv_high_res_num int comment '服务响应速度满意数量' ,srv_low_res_num int comment '服务响应速度不满意数量' ,rtn_rpr_num int comment '返修数量' ,max_vst_user int comment '回访人员最大数量' ,min_vst_user int comment '回访人员最小数量' ,dws_day string comment '日期维度-按天' ,dws_week string comment '日期维度-按周' ,dws_month string comment '日期维度-按月' ,orgname string comment '组织机构维度-回访人员所属部门' ,posiname string comment '组织机构维度-回访人员所属岗位' ,empname string comment '组织机构维度-回访人员名称' ,oil_type string comment '油站维度-油站类型' ,oil_province string comment '油站维度-油站所属省' ,oil_city string comment '油站维度-油站所属市' ,oil_county string comment '油站维度-油站所属区' ,customer_classify string comment '客户维度-客户类型' ,customer_province string comment '客户维度-客户所属省' ) comment '回访主题表' partitioned by (month String, week String, day String) stored as orc location '/data/dw/st/one\_make/subj\_rtn\_visit' ;-
构建
insert overwrite table one_make_st.subj_rtn_visit partition(month = '202101', week='2021W1', day='20210101') select sum(rtn_srv_num) rtn_srv_num, --回访工程师数量 sum(vst_user) vst_user, --回访人员数量 sum(wait_dispatch_sumnum) wait_dispatch_sumnum, --待派工数量 sum(wait_departure_sumnum) wait_departure_sumnum, --待出发数量 sum(alread_complete_sumnum) alread_complete_sumnum, --已完工数量 sum(processing_sumnum) processing_sumnum, --处理中数量 sum(satisfied_sumnum) satisfied_sumnum, --满意数量 sum(unsatisfied_sumnum) unsatisfied_sumnum, --不满意数量 sum(srv_atu_sumnum) srv_atu_sumnum, --态度满意数量 sum(srv_bad_atu_sumnum) srv_bad_atu_sumnum, --态度不满意数量 sum(srv_rpr_prof_sumnum) srv_rpr_prof_sumnum, --水平满意数量 sum(srv_rpr_unprof_sumnum) srv_rpr_unprof_sumnum, --水平不满意数量 sum(srv_high_res_sumnum) srv_high_res_sumnum, --响应速度满意数量 sum(srv_low_res_sumnum) srv_low_res_sumnum, --响应速度不满意数量 sum(rtn_rpr_sumnum) rtn_rpr_sumnum, --返修数量 max(vst_user) max_vst_user, --回访人员最大数量 min(vst_user) min_vst_user, --回访人员最小数量 dws_day, --日期天 dws_week, --日期周 dws_month, --日期月 orgname, --组织机构人员部门 posiname, --组织机构人员岗位 empname, --组织机构人员姓名 oil_type, --油站类型 oil_province, --油站省份 oil_city, --油站城市 oil_county, --油站区域 customer_classify, --客户类型 customer_province --客户省份 from ( --查询得到每个工单的指标 -
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!