助力工业物联网,工业大数据之安装事实指标需求分析【二十一】

简介: 助力工业物联网,工业大数据之安装事实指标需求分析【二十一】

1:安装事实指标需求分析

  • 目标:掌握DWB层安装事实指标表的需求分析
  • 路径
  • step1:目标需求
  • step2:数据来源
  • 实施
  • 目标需求:基于设备安装信息统计安装设备个数、收费安装个数、审核安装个数等指标
  • 全新安装数量:install_type = 1
  • 联调安装数量:install_way = 2
  • 产生维修数量:is_repair = 1
  • 额外收费数量:is_pay = 1
  • 安装设备数量:与服务单关联,统计设备的id个数
  • 安装费用:通过工单id从报销单信息中关联得到报销金额
  • 审核完成工单个数:
  • 数据来源
  • ciss_service_install:安装单信息表
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;
  • 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,
         case when is_repair = 1 then 1 else 0 end repair_num,
         case when is_pay = 1 then 1 else 0 end ext_exp_num 
     from one_make_dwd.ciss_service_install
  ) installtype on sinstall.id = installtype.id
  --获取每个服务单的安装设备数量
  left join (
     select 
         sorder.id, count(sodevice.id) inst_device_num 
     from one_make_dwd.ciss_service_order sorder
     left join one_make_dwd.ciss_service_order_device sodevice on sorder.id = sodevice.service_order_id 
     group by sorder.id
  ) sodev on sorder.id = sodev.id
  --获取每个工单的报销总金额
  left join ( 
    select 
        swo.id, sum(dtl.money5) exp_device_money 
      from one_make_dwd.ciss_service_workorder swo 
    left join one_make_dwd.ciss_s_install_exp_rep_02_dtl dtl on swo.id = dtl.workorder_id
    where dtl.dt = '20210101' and dtl.money5 is not null 
    group by swo.id
  ) dtl on swo.id = dtl.id
  --获取每个安装工单的审核状态
  left join (
    select 
        swo.id, case when ivalida.has_validate = 1 then 1 else 0 end validated_inst_num 
    from one_make_dwd.ciss_service_workorder swo
    left join one_make_dwd.ciss_service_install_validate ivalida on swo.id = ivalida.workorder_id
  ) validate on swo.id = validate.id where swo.service_userid is not null and sinstall.dt = '20210101';
  • 小结
  • 实现DWB层安装事实指标表的构建


目录
相关文章
|
7月前
|
存储 监控 大数据
大数据之路:阿里巴巴大数据实践——事实表设计
事实表是数据仓库核心,用于记录可度量的业务事件,支持高性能查询与低成本存储。主要包含事务事实表(记录原子事件)、周期快照表(捕获状态)和累积快照表(追踪流程)。设计需遵循粒度统一、事实可加性、一致性等原则,提升扩展性与分析效率。
652 0
|
监控 供应链 安全
物联网卡在工业领域的应用
物联网卡在工业领域的应用极大地推动了行业的智能化、自动化和高效化进程。以下是物联网卡在工业领域中各操作类型中的具体应用作用:
|
传感器 物联网 大数据
物联网与大数据:揭秘万物互联的新纪元
物联网与大数据:揭秘万物互联的新纪元
474 7
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
3880 0
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
传感器 监控 供应链
物联网怎么推动工业数字化转型?
物联网(Internet of Things,loT)是指通过信息传感设备,如射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等装置,按约定的协议,将任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。
474 0
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1381 19
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
498 60
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
564 58
|
存储 数据采集 物联网
物联网技术在物流领域的应用会遇到哪些挑战?
物联网技术在物流领域的应用会遇到哪些挑战?
838 60

热门文章

最新文章