网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
+ **目标需求**:基于维修信息数据统计维修设备个数、维修、更换、升级配件数量、工时费用、配件费用等指标
![image-20211003172704904](https://img-blog.csdnimg.cn/img_convert/ab8582e1285f364d48a377381ec4b04c.png)
+ **数据来源**
- ciss\_service\_repair:维修信息表
```
select
id,--维修单id
code,--维修单号
service_id,--服务单id
is_pay,--是否收费 1-收费,0-免费
hour_charge,--工时费用
parts_charge,--配件费用
fares_charge --车船费用
from ciss_service_repair;
```
- **ciss\_service\_order**:服务单信息表
```
select
id, --服务单id
workorder_id, --工单id
type --工单类型,1-安装,2-维修,3-巡检
from ciss_service_order;
```
- **ciss\_service\_workorder**:工单详情事实表
```
select
id,--工单id
service_userid,--工程师id
service_station_id,--服务站点id
oil_station_id,--油站id
create_time --创建时间
from ciss_service_workorder;
```
- **ciss\_service\_order\_device**:服务单设备信息表
```
select
id, --设备id
service_order_id --服务单id
from ciss_service_order_device;
```
- **ciss\_service\_fault\_dtl**:设备故障信息表
```
select
serviceorder_device_id,--服务单设备id
solution_id,--解决方案id,1-维修,2-更换,3-升级
fault_type_id --故障分类id
from ciss_service_fault_dtl;
```
-
小结
- 掌握DWB层维修事实指标表的需求分析
2:维修事实指标构建
-
目标:实现DWB层维修事实指标表的构建
-
实施
- 建表
drop table if exists one_make_dwb.fact_srv_repair; create table if not exists one_make_dwb.fact_srv_repair( rpr_id string comment '维修单id' , rpr_code string comment '维修单编码' , srv_user_id string comment '服务人员用户id' , ss_id string comment '服务网点id' , os_id string comment '油站id' , date_id string comment '日期id' , exp_rpr_num string comment '收费维修数量' , hour_money int comment '工时费用' , parts_money int comment '配件费用' , fars_money int comment '车船费用' , rpr_device_num int comment '维修设备数量' , rpr_mtrl_num int comment '维修配件数量' , exchg_parts_num int comment '更换配件数量' , upgrade_parts_num int comment '升级配件数量' , fault_type_ids string comment '故障类型id集合' ) comment '维修单事实表' partitioned by (dt string) stored as orc location '/data/dw/dwb/one\_make/fact\_srv\_repair';
- 抽取
insert overwrite table one_make_dwb.fact_srv_repair partition(dt = '20210101') select repair.id rpr_id --维修单id , repair.code rpr_code --维修单号 , swo.service_userid srv_user_id --工程师id , swo.service_station_id ss_id --服务网点id , swo.oil_station_id os_id --油站id , swo.create_time date_id --创建时间 , case when repair.is_pay = 1 then 1 else 0 end exp_rpr_num --收费维修数量 , repair.hour_charge hour_money --工时费用 , repair.parts_charge parts_money --配件费用 , repair.fares_charge fars_money --车船费用 , rpr_device_num --维修设备数量 , rpr_mtrl_num --维修配件数量
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
https://bbs.csdn.net/topics/618545628)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!