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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 助力工业物联网,工业大数据之安装事实指标需求分析【二十一】

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层安装事实指标表的构建


目录
相关文章
|
2月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
108 2
|
1月前
|
存储 人工智能 大数据
物联网、大数据、云计算、人工智能之间的关系
物联网、大数据、云计算、人工智能之间的关系是紧密相连、相互促进的。这四者既有各自独立的技术特征,又能在不同层面上相互融合,共同推动信息技术的发展和应用。
603 0
|
4月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
7月前
|
NoSQL 物联网 大数据
【补充】助力工业物联网,工业大数据之AirFlow安装
【补充】助力工业物联网,工业大数据之AirFlow安装
96 1
|
7月前
|
Prometheus 数据可视化 Cloud Native
助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】
助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】
171 1
|
7月前
|
监控 物联网 大数据
智慧工地管理平台系统源码基于物联网、云计算、大数据等技术
智慧工地平台APP通过对施工过程人机料法环的全面感知、互联互通、智能协同,提高施工现场的生产效率、管理水平和决策能力,实现施工管理的数字化、智能化、精益化。
116 0
|
1月前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
104 50
|
1月前
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
59 2
|
1月前
|
供应链 物联网 区块链
探索未来技术潮流:区块链、物联网、虚拟现实的融合与创新
【10月更文挑战第41天】随着科技的不断进步,新技术如区块链、物联网、虚拟现实等正在逐步渗透到我们的日常生活中。本文将深入探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,共同推动社会的进步。我们将通过具体的代码示例,展示这些技术在实际应用中的潜力和价值。无论你是科技爱好者,还是对未来充满好奇的探索者,这篇文章都将为你打开一扇通往未来的窗口。
101 56
|
23天前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。