助力工业物联网,工业大数据之服务域:派单主题分析实现【二十九】

简介: 助力工业物联网,工业大数据之服务域:派单主题分析实现【二十九】

13:服务域:派单主题分析实现

  • 目标掌握派单主题的需求分析实现
  • 路径
  • step1:需求
  • step2:分析
  • 实施
  • 需求:统计不同维度下的派单主题指标的结果
字段名称 字段说明 来源
install_sumnum 安装单数量 one_make_dwb.fact_worker_order
repair_sumnum 维修单数量 one_make_dwb.fact_worker_order
remould_sumnum 巡检单数量 one_make_dwb.fact_worker_order
inspection_sumnum 改造单数量 one_make_dwb.fact_worker_order
max_wo_num 派单数最大值 one_make_dwb.fact_worker_order
min_wo_num 派单数最小值 one_make_dwb.fact_worker_order
avg_wo_num 派单数平均值 one_make_dwb.fact_worker_order
call_srv_user 呼叫中心派单人 one_make_dwb.fact_call_service
max_dispatch_cnt 呼叫中心最大派单 one_make_dwb.fact_call_service
min_dispatch_cnt 呼叫中心最小派单 one_make_dwb.fact_call_service
avg_dispatch_cnt 呼叫中心平均派单 one_make_dwb.fact_call_service
people_wo_num 派单平均值 one_make_dwb.fact_worker_order
srv_reps_duration 派单响应时长 one_make_dwb.fact_worker_order
srv_duration 服务时长 one_make_dwb.fact_worker_order
pepople_sumnum 工单人数 one_make_dwb.fact_worker_order
dws_day string 日期维度-按天 one_make_dws.dim_date
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_call_service:呼叫中心事务事实表
select
    userid,--受理人员id
    dispatch_cnt,--派工数量
    id,--呼叫受理id
    oil_station_id, --油站id
    dt --日期
from fact_call_service;
  • fact_worker_order:工单事务事实表
select
    callaccept_id,--呼叫受理id
    install_num,--安装数量
    repair_num,--维修数量
    remould_num,--改造数量
    inspection_num,--巡检数量
    wo_num, --工单数量
    people_num, --工单人数
    repair_service_duration,--报修响应时长
    service_total_duration --服务总时长
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;
  • 实现
  • 建表
drop table if exists one_make_st.subj_dispatch;
create table if not exists one_make_st.subj_dispatch(
    install_sumnum int comment '安装单数量'
    ,repair_sumnum int comment '维修单数量'
    ,remould_sumnum int comment '改造单数量'
    ,inspection_sumnum int comment '巡检单数量'
    ,max_wo_num int comment '派单数最大值'
    ,min_wo_num int comment '派单数最小值'
    ,avg_wo_num decimal(20, 1) comment '派单数平均值'
    ,call_srv_user int comment '呼叫中心派单人'
    ,max_dispatch_cnt int comment '呼叫中心最大派单'
    ,min_dispatch_cnt int comment '呼叫中心最小派单'
    ,avg_dispatch_cnt decimal(20, 1) comment '呼叫中心平均派单'
    ,people_wo_num decimal(20, 1) comment '派单平均值'
    ,srv_reps_duration int comment '派单响应时长'
    ,srv_duration int comment '服务时长'
    ,pepople_sumnum 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_dispatch'
;
  • 构建
insert overwrite table one_make_st.subj_dispatch partition(month = '202101', week='2021W1', day='20210101')
select
  sum(fwo.install_num) install_sumnum,                       --安装单数量
  sum(fwo.repair_num) repair_sumnum,                         --维修单数量
  sum(fwo.remould_num) remould_sumnum,                       --改造单数量
  sum(fwo.inspection_num) inspection_sumnum,                 --巡检单数量
    max(fwo.wo_num) max_wo_num,                                --最大派单数
  min(fwo.wo_num) min_wo_num,                                --最小派单数
  avg(fwo.wo_num) avg_wo_num,                                --平均派单数
  sum(fcs.userid) call_srv_user,                             --呼叫中心派单人
  max(fcs.dispatch_cnt) max_dispatch_cnt,                    --呼叫中心最大派单
    min(fcs.dispatch_cnt) min_dispatch_cnt,                    --呼叫中心最小派单
  avg(fcs.dispatch_cnt) avg_dispatch_cnt,                    --呼叫中心平均派单
  sum(fwo.wo_num) / sum(fwo.people_num) people_wo_num,       --派单平均值
    sum(fwo.repair_service_duration) srv_reps_duration,        --派单响应时长
  sum(fwo.service_total_duration) srv_duration,              --服务时长
  sum(fwo.people_num) pepople_sumnum,                        --工单人数
    dd.date_id dws_day,                                        --日期日
  dd.week_in_year_id dws_week,                               --日期周
  dd.year_month_id dws_month,                                --日期月
  emp.orgname,                                               --组织机构人员部门
  emp.posiname,                                              --组织机构人员岗位
  emp.empname,                                               --组织机构人员名称
  dimoil.company_name oil_type,                              --油站类型
    dimoil.province_name oil_province,                         --油站省份
  dimoil.city_name oil_city,                                 --油站城市
  dimoil.county_name oil_county,                             --油站区域
  dimoil.customer_classify_name customer_classify,           --客户类型
    dimoil.customer_province_name customer_province            --客户省份
--呼叫中心事务事实表
from one_make_dwb.fact_call_service fcs
--关联工单事实表
left join one_make_dwb.fact_worker_order fwo on fcs.id = fwo.callaccept_id
--关联组织机构维度表
left join one_make_dws.dim_emporg emp on fcs.userid = emp.empid
--关联日期维度表
left join one_make_dws.dim_date dd on fcs.dt = dd.date_id
--关联油站维度表
left join one_make_dws.dim_oilstation dimoil on fcs.oil_station_id = dimoil.id
where dd.year_month_id = '202101'and dd.week_in_year_id = '2021W1' and  dd.date_id = '20210101'
group by dd.date_id, dd.week_in_year_id, dd.year_month_id, emp.orgname, emp.posiname, emp.empname, dimoil.company_name, dimoil.province_name,
         dimoil.city_name, dimoil.county_name, dimoil.customer_classify_name, dimoil.customer_province_name
;
  • 小结
  • 掌握派单主题的需求分析及实现

14:服务域:费用主题分析

  • 目标掌握费用主题的需求分析
  • 路径
  • step1:需求
  • step2:分析
  • 实施
  • 需求:统计不同维度下的费用主题指标的结果
字段名称 字段说明 来源
install_money 安装费用 one_make_dwb.fact_srv_install
max_install_money 最大安装费用 one_make_dwb.fact_srv_install
min_install_money 最小安装费用 one_make_dwb.fact_srv_install
avg_install_money 平均安装费用 one_make_dwb.fact_srv_install
sumbiz_trip_money 外出差旅费用金额总计 one_make_dwb.fact_trvl_exp
sumin_city_traffic_money 市内交通费用金额总计 one_make_dwb.fact_trvl_exp
sumhotel_money 住宿费费用金额总计 one_make_dwb.fact_trvl_exp
sumfars_money 车船费用金额总计 one_make_dwb.fact_trvl_exp
sumsubsidy_money 补助费用金额总计 one_make_dwb.fact_trvl_exp
sumroad_toll_money 过桥过路费用金额总计 one_make_dwb.fact_trvl_exp
sumoil_money 油费金额总计 one_make_dwb.fact_trvl_exp
exp_item_total 差旅费用扣款明细总计 one_make_dwb.fact_regular_exp
actual_total_money 差旅费用总额统计 one_make_dwb.fact_trvl_exp
sum_secondary_money 差旅费用二阶段扣款总计 one_make_dwb.fact_trvl_exp
sum_third_money 差旅费用三阶段扣款总计 one_make_dwb.fact_trvl_exp
max_secondary_money 差旅费用二阶段最大扣款总计 one_make_dwb.fact_trvl_exp
max_third_money 差旅费用三阶段最大扣款总计 one_make_dwb.fact_trvl_exp
sum_srv_user 报销人员总数量 one_make_dwb.fact_trvl_exp
max_srv_user 报销人员最大数量 one_make_dwb.fact_trvl_exp
min_srv_user 报销人员最小数量 one_make_dwb.fact_trvl_exp
avg_srv_user 报销人员平均数量 one_make_dwb.fact_trvl_exp
dws_day string 日期维度-按天 one_make_dws.dim_date
dws_week string 日期维度-按周 one_make_dws.dim_date
dws_month string 日期维度-按月 one_make_dws.dim_date
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_trvl_exp:差旅事务事实表
select
    biz_trip_money,--外出差旅费用
    in_city_traffic_money,--市内交通费用
    hotel_money,--住宿费用
    fars_money,--车船费用
    subsidy_money,--补助费用
    road_toll_money,--过桥过路费用
    oil_money,--油费
    secondary_money,--二单补助费用总计
    third_money, --三单补助费用总计
    actual_total_money,--费用报销总计
    ss_id,--服务网点id
    srv_user_id,--工程师id
    dt --日期
from fact_trvl_exp;
  • fact_regular_exp:报销事务事实表
select
    ss_id,--服务网点id
    srv_user_id,--工程师id
    exp_item_name --费用项目名称
from fact_regular_exp;
  • fact_srv_install:安装事务事实表
select
    ss_id,--服务网点id
    exp_device_money,--安装费用
    os_id --油站id
from fact_srv_install;
  • 维度表
  • 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;
  • 小结
  • 掌握费用主题的需求分析

15:服务域:费用主题实现

  • 目标实现费用主题表的维度指标构建
  • 实施
  • 建表
drop table if exists one_make_st.subj_expense;
create table if not exists one_make_st.subj_expense(
    install_money decimal(20,1) comment '安装费用'
    ,max_install_money decimal(20,1) comment '最大安装费用'
    ,min_install_money decimal(20,1) comment '最小安装费用'
    ,avg_install_money decimal(20,1) comment '平均安装费用'
    ,sumbiz_trip_money decimal(20, 1) comment '外出差旅费用金额总计'
    ,sumin_city_traffic_money decimal(20, 1) comment '市内交通费用金额总计'
    ,sumhotel_money decimal(20, 1) comment '住宿费费用金额总计'
    ,sumfars_money decimal(20, 1) comment '车船费用金额总计'
    ,sumsubsidy_money decimal(20, 1) comment '补助费用金额总计'
    ,sumroad_toll_money decimal(20, 1) comment '过桥过路费用金额总计'
    ,sumoil_money decimal(20, 1) comment '油费金额总计'
    ,exp_item_total int comment '差旅费用扣款明细总计'
    ,actual_total_money decimal(20, 1) comment '差旅费用总额统计'
    ,sum_secondary_money decimal(20, 1) comment '差旅费用二阶段扣款总计'
    ,sum_third_money decimal(20, 1) comment '差旅费用三阶段扣款总计'
    ,max_secondary_money decimal(20, 1) comment '差旅费用二阶段最大扣款总计'
    ,max_third_money decimal(20, 1) comment '差旅费用三阶段最大扣款总计'
    ,sum_srv_user int comment '报销人员总数量'
    ,max_srv_user int comment '报销人员最大数量'
    ,min_srv_user int comment '报销人员最小数量'
    ,avg_srv_user int comment '报销人员平均数量'
    ,dws_day string comment '日期维度-按天'
    ,dws_week string comment '日期维度-按周'
    ,dws_month 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_expense'
;
  • 构建
insert overwrite table one_make_st.subj_expense partition(month = '202101', week='2021W1', day='20210101')
select
  sum(install.exp_device_money) install_money,               --安装费用
  max(install.exp_device_money) max_install_money,           --最大安装费用
  min(install.exp_device_money) min_install_money,           --最小安装费用
    avg(install.exp_device_money) avg_install_money,           --平均安装费用
  sum(fte.biz_trip_money) sumbiz_trip_money,                 --外出差旅费用金额总计
  sum(fte.in_city_traffic_money) sumin_city_traffic_money,   --市内交通费用金额总计
    sum(fte.hotel_money) sumhotel_money,                       --住宿费用金额总计
  sum(fte.fars_money) sumfars_money,                         --车船费用金额总计
  sum(fte.subsidy_money) sumsubsidy_money,                   --补助费用金额总计
  sum(fte.road_toll_money) sumroad_toll_money,               --过桥过路费用金额总计
    sum(fte.oil_money) sumoil_money,                           --油费金额总计
  count(distinct fre.exp_item_name) exp_item_total,          --差旅费用扣款明细总计
  sum(fte.actual_total_money) actual_total_money,            --差旅费用总额统计
    sum(fte.secondary_money) sum_secondary_money,              --差旅费用二阶段扣款总计
  sum(fte.third_money) sum_third_money,                      --差旅费用三阶段扣款总计
  max(fte.secondary_money) max_secondary_money,              --差旅费用二阶段最大扣款总计
  max(fte.third_money) max_third_money,                      --差旅费用三阶段最大扣款总计
    sum(size(split(fre.srv_user_id,','))) sum_srv_user,        --报销人员数量
  max(size(split(fre.srv_user_id,','))) max_srv_user,        --报销人员最大数量
    min(size(split(fre.srv_user_id,','))) min_srv_user,        --报销人员最小数量
  avg(size(split(fre.srv_user_id,','))) avg_srv_user,        --报销人员平均数量
    dd.date_id dws_day,                                        --日期天
  dd.week_in_year_id dws_week,                               --日期周
  dd.year_month_id dws_month,                                --日期月
  dimoil.company_name oil_type,                              --油站类型
  dimoil.province_name oil_province,                         --油站省份
    dimoil.city_name oil_city,                                 --油站城市
  dimoil.county_name oil_county,                             --油站区域
  dimoil.customer_classify_name customer_classify,           --客户类型
  dimoil.customer_province_name customer_province            --客户省份
--差旅事务事实表
from one_make_dwb.fact_trvl_exp fte
--安装事务事实表
left join one_make_dwb.fact_srv_install install on fte.ss_id = install.ss_id
--报销事务事实表
left join one_make_dwb.fact_regular_exp  fre on fte.srv_user_id = fre.srv_user_id
--关联日期维度表
left join one_make_dws.dim_date dd on fte.dt = dd.date_id
--关联油站维度表
left join one_make_dws.dim_oilstation dimoil on install.os_id = dimoil.id
where dd.year_month_id = '202101'and dd.week_in_year_id = '2021W1' and  dd.date_id = '20210101'
group by inst_type_id, dd.date_id, dd.week_in_year_id, dd.year_month_id,  dimoil.company_name, dimoil.province_name, dimoil.city_name, dimoil.county_name,
         dimoil.customer_classify_name, dimoil.customer_province_name
;
  • 小结
  • 实现费用主题表的维度指标构建


目录
相关文章
|
22天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
1月前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
1月前
|
数据采集 运维 数据挖掘
API电商接口大数据分析与数据挖掘 (商品详情店铺)
API接口、数据分析以及数据挖掘在商品详情和店铺相关的应用中,各自扮演着重要的角色。以下是关于它们各自的功能以及如何在商品详情和店铺分析中协同工作的简要说明。
|
26天前
|
分布式计算 运维 数据挖掘
MaxCompute是一个强大的云数据仓库服务
【4月更文挑战第1天】MaxCompute是一个强大的云数据仓库服务
25 1
|
16天前
|
机器学习/深度学习 人工智能 安全
Azure Databricks实战:在云上轻松进行大数据分析与AI开发
【4月更文挑战第8天】Databricks在大数据分析和AI开发中表现出色,简化流程并提高效率。文中列举了三个应用场景:数据湖分析、实时流处理和AI机器学习,并阐述了Databricks的一体化平台、云原生弹性及企业级安全优势。博主认为,Databricks提升了研发效能,无缝集成Azure生态,并具有持续创新潜力,是应对大数据挑战和加速AI创新的理想工具。
41 0
|
29天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。
|
1月前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。
|
6天前
|
存储 供应链 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第21天】 随着科技不断进步,新兴技术正在重塑我们的世界。本文将深入探讨三种引人注目的技术——区块链、物联网(IoT)和虚拟现实(VR)——它们各自的发展趋势及其在不同领域的应用前景。区块链技术以其不可篡改的数据记录特性,在金融安全、供应链管理等领域展现出巨大潜力;物联网通过智能设备互联,推动智能家居、智慧城市的发展;而虚拟现实则以其沉浸式体验,改变教育、娱乐等多个行业的面貌。这些技术的交叉融合预示着一个更加智能、互联和虚拟的未来。
18 5
|
5天前
|
供应链 安全 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第22天】 在数字化浪潮中,新兴技术的蓬勃发展正推动着传统行业的变革与升级。区块链技术以其不可篡改和去中心化的特性,为数据安全和信息透明提供了新的解决方案;物联网(IoT)通过智能设备的互联互通,实现了环境与行为的智能化管理;而虚拟现实(VR)技术则拓展了人们的感官体验,创造了沉浸式互动的新空间。本文聚焦于这些技术的发展趋势,探讨其在多个应用场景中的结合与创新,旨在描绘一幅技术交织下的未来蓝图。
15 3

热门文章

最新文章