整体目标:构建数仓中的DWB:主题事务事实表
核心的主题事实的构建:SQL实现 + 主题的指标
原始事务事实数据【DWD】:订单数据
主题事务事实数据【DWB】:订单主题
- 主题周期快照事实表:数据应用层【ST:维度【DWS】 + 事实指标【DWB】】
分层回顾
目标:回顾一站制造项目分层设计
实施
- ODS层 :原始数据层:101张表:AVRO
- DWD层:明细数据层:101张表:ORC
- DWS层:维度数据层:维度表
- DWB层:轻度汇总层:Join + 构建基础指标
DWB层的设计
目标:掌握DWB层的设计
路径
- step1:功能
- step2:来源
- step3:需求
实施
功能:存储每个事实主题需要的事务事实数据以及轻度聚合的结果,供ST层基于DWS层进行统计聚合得到最终每个主题的指标
- 关联:将事实主题需要的字段进行关联合并到一张事实表中,构建基于主题的事实
- 聚合:对常用的基础指标基于细粒度实现轻度聚合
来源:对DWD层的数据进行关联或者轻度聚合
需求:按照一站制造的业务主题的划分需求,构建每个主题的DWB层的数据
事实主题指标划分
目标:掌握一站制造中的业务主题划分及主题指标的设计
实施
基本流程
- 油站:有安装、维修、巡检、改造需求
- 呼叫:打电话到呼叫中心下工单
- 呼叫中心可以直接解决:不会有新的工单产生:咨询类寻求
- 呼叫中心不能直接解决:构建工单
- 网点:呼叫中心将工单分派给网点
- 工单:分配工程师确认工单
- 油站:实施具体的工单需求
- 仓储物料:申请仓库调度零配件,有零配件费用
- 差旅费用:交通费用、住宿费用、加油费用、补贴费用
- 回访:呼叫中心将完成的订单进行电话回访
呼叫中心事实指标:来电受理次数、分派工单次数
油站事实指标:油站个数、停用油站个数、油站设备个数
工单事实指标:安装工单个数、维修工单个数
安装事实指标:安装个数、安装费用
维修事实指标:维度个数、维修费用
客户回访事实指标:满意个数、不满意个数、态度满意个数、响应速度的满意个数、技术满意个数
费用事实指标:报销费用、差率费用、补贴费用
差旅事实指标:油费、住宿费用、交通费用
网点物料事实指标:零配件的个数
呼叫中心事实指标需求分析
目标:掌握DWB层呼叫中心事实指标表的需求
路径
- step1:目标需求
- step2:数据来源
实施
目标需求:基于基础的时间、受理方式、来电类型等事实维度统计工单数量、电话数量、回访数量、投诉数量等
数据来源
- **ciss_service_callaccept**:客服中心来电详情表
呼叫中心事实指标构建
目标:实现DWB层呼叫中心事实指标表的构建
实施
-建库
建表
构建数据字典表【每次都要两张表关联,比较麻烦,合并为一张表】
抽取
油站事实指标需求分析
目标:掌握DWB层油站事实指标表的需求分析
-路径
- step1:目标需求
- step2:数据来源
-实施
- **目标需求**:基于油站信息及设备数据构建油站主题事实的油站个数、停用个数、新增个数、设备个数等
油站数量:1个油站就是一条数据,这个值默认就为1
- 已停用油站数量:停用状态,判断油站的状态是什么状态
- 有效油站数量:使用状态,判断油站的状态是什么状态
- 当日新增油站:判断之前有没有这个油站
- 历史记录表:oil_history:记录了当前所有油站的信息
- id、name
- 今日新数据:oil_current:记录了今天所有油站的信息
- id、name
- left join
- 当日停用油站:判断当日状态
- 油站设备数量:得到这个油站的所有设备信息,按照油站id分组统计设备个数
- **数据来源**
- **ciss_base_oilstation**:油站信息表
- **ciss_base_oilstation_history**:油站历史记录表
- 模拟油站历史记录
- **ciss_base_device_detail**:油站设备信息表
油站事实指标构建
目标:实现DWB层油站事实指标表的构建
实施
建表
抽取
工单事实指标需求分析
目标:掌握DWB层工单事实指标表的需求分析
路径
- step1:目标需求
- step2:数据来源
实施
目标需求:基于工单信息统计等待分配工单数量、完成工单数量、处理工单数量、响应时长、服务时长等指标
数据来源
-
ciss_service_workorder:工单详情事实表