```
select
id,--安装单id
code,--安装单号
install_way, --安装方式
service_id --服务单id
from ciss_service_install;
```
* ciss\_service\_workorder:工单详情事实表
```
select
service_userid,--工程师id
service_station_id,--服务站点id
oil_station_id,--油站id
create_time --创建时间
from ciss_service_workorder;
```
- ciss\_service\_order:服务单信息表
```
select
id, --服务单id
workorder_id, --工单id
type --工单类型,1-安装,2-维修,3-巡检
from ciss_service_order;
```
![image-20211012144040987](https://img-blog.csdnimg.cn/img_convert/27553b168917dad9358844a9b2953e91.png)
- ciss\_service\_order\_device:服务单设备信息表
```
select
id, --设备id
service_order_id --服务单id
from ciss_service_order_device;
```
- ciss\_s\_install\_exp\_rep\_02\_dtl:报销单明细表
```
select
id, --报销ID
workorder_id,--工单id
money5 --报销金额
from ciss_s_install_exp_rep_02_dtl;
```
- ciss\_service\_install\_validate:设备安装审核信息表
```
select
id, --审核ID
workorder_id,--工单id
has_validate --审核状态,1-已审核,0-未审核
from ciss_service_install_validate;
```
-
小结
- 掌握DWB层安装事实指标表的需求分析
2:安装事实指标构建
-
目标:实现DWB层安装事实指标表的构建
-
实施
- 建表
-- 创建安装单事实表 drop table if exists one_make_dwb.fact_srv_install; create table if not exists one_make_dwb.fact_srv_install( inst_id string comment '安装单id' , inst_code string comment '安装单编码' , inst_type_id string comment '安装方式id' , srv_user_id string comment '服务人员用户id' , ss_id string comment '服务网点id' , os_id string comment '油站id' , date_id string comment '日期id' , new_inst_num int comment '全新安装数量' , debug_inst_num int comment '设备联调安装数量' , repair_num int comment '产生维修安装单数量' , ext_exp_num int comment '额外收费安装单数量' , inst_device_num int comment '安装设备数量' , exp_device_money int comment '安装费用' , validated_inst_num int comment '审核安装单数量' ) comment '安装单事实表' partitioned by (dt string) stored as orc location '/data/dw/dwb/one\_make/fact\_srv\_install';
- 抽取
insert overwrite table one_make_dwb.fact_srv_install partition(dt = '20210101')
select
sinstall.id inst_id --安装单id
, sinstall.code inst_code --安装单号
, sinstall.install_way inst_type_id --安装方式
, 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 --创建时间
, new_inst_num --全新安装数量
, debug_inst_num --设备联调安装数量
, repair_num --产生维修安装数量
, ext_exp_num --额外收费安装数量
, inst_device_num --安装设备数量
, exp_device_money --安装费用
, validated_inst_num --已审核安装单数量
--安装信息表
from one_make_dwd.ciss_service_install sinstall
--服务单表
left join one_make_dwd.ciss_service_order sorder on sinstall.service_id = sorder.id
--工单表
left join one_make_dwd.ciss_service_workorder swo on sorder.workorder_id = swo.id
--获取全新、联调、维度、收费的安装数量
left join (
select
id,
case when install_type = 1 then 1 else 0 end new_inst_num,
case when install_way = 2 then 1 else 0 end debug_inst_num,
![img](https://img-blog.csdnimg.cn/img_convert/5fd7e9dbc447e649c1c4f584dbbf9ef0.png)
![img](https://img-blog.csdnimg.cn/img_convert/fd3ed513e0a7c5470bcc3e9510a4fa2b.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
//bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**