* 日期维度表
* 组织机构维度:人员部门、人员岗位、人员姓名
* 组织机构维度表
* 油站维度:类型、省份、城市、区域
- 客户维度:类型、省份
* 油站维度表
- 数据
* 事实表
+ 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, --油站类型
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
063)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新