• 助力工业物联网,工业大数据之客户回访事实指标需求分析【二十三】


    1:客户回访事实指标需求分析

    • 目标掌握DWB层客户回访事实指标表的需求分析

    • 路径

      • step1:目标需求
      • step2:数据来源
    • 实施

      • 目标需求:基于客户回访数据统计工单满意数量、不满意数量、返修数量等指标

        image-20211003174758208

      • 数据来源

        • ciss_service_return_visit:回访信息表

          select
              id,--回访id
              code,--回访编号
              workorder_id,--工单id
              create_userid, --回访人员id
              service_attitude,--服务态度
              response_speed,--响应速度
              repair_level,--服务维修水平
              is_repair --是否返修
          from ciss_service_return_visit;
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 1:满意
          • 0:不满意
        • ciss_service_workorder:服务工单信息表

          select
              id,--工单id
              service_userid,--工程师id
              service_station_id,--服务站点id
              oil_station_id --油站id
          from ciss_service_workorder;
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
    • 小结

      • 掌握DWB层客户回访事实指标表的需求分析

    2:客户回访事实指标

    • 目标实现DWB层客户回访事实指标表的构建

    • 实施

      • 建表

        -- 创建客户回访实时表
        drop table if exists one_make_dwb.fact_srv_rtn_visit;
        create table if not exists one_make_dwb.fact_srv_rtn_visit(
            vst_id string comment '回访id'
            , vst_code string comment '回访编号'
            , wrkodr_id string comment '工单id'
            , srv_user_id string comment '服务人员用户id'
            , os_id string comment '油站id'
            , ss_id string comment '服务网点id'
            , vst_user_id string comment '回访人员id'
            , satisfied_num int comment '满意数量'
            , unsatisfied_num int comment '不满意数量'
            , srv_atu_num int comment '服务态度满意数量'
            , srv_bad_atu_num int comment '服务态度不满意数量'
            , srv_rpr_prof_num int comment '服务维修水平满意数量'
            , srv_rpr_unprof_num int comment '服务维修水平不满意数量'
            , srv_high_res_num int comment '服务响应速度满意数量'
            , srv_low_res_num int comment '服务响应速度不满意数量'
            , rtn_rpr_num int comment '返修数量'
        ) comment '客户回访事实表'
        partitioned by (dt string)
        stored as orc
        location '/data/dw/dwb/one_make/fact_srv_rtn_visit';
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
      • 抽取

        insert overwrite table one_make_dwb.fact_srv_rtn_visit partition(dt = '20210101')
        select
            visit.id vst_id                         --回访id
        	, visit.code vst_code                   --回访编号
        	, visit.workorder_id wrkodr_id          --工单id
        	, swo.service_userid srv_user_id        --工程师id
        	, swo.oil_station_id os_id              --油站id
        	, swo.service_station_id ss_id          --服务网点id
        	, visit.create_userid vst_user_id       --回访人员id
        	, satisfied_num                         --满意数量
        	, unsatisfied_num                       --不满意数量
        	, srv_atu_num                           --服务态度满意数量
        	, srv_bad_atu_num                       --服务态度不满意数量
        	, srv_rpr_prof_num                      --服务水平满意数量
        	, srv_rpr_unprof_num                    --服务水平不满意数量
        	, srv_high_res_num                      --服务响应速度满意数量
        	, srv_low_res_num                       --服务响应速度不满意数量
        	, rtn_rpr_num                           --返修数量
        --回访信息表
        from one_make_dwd.ciss_service_return_visit visit
        --工单信息表
        left join one_make_dwd.ciss_service_workorder swo on visit.workorder_id = swo.id
        --获取满意与不满意个数
        left join (
            select visit.workorder_id,
        	    sum(case when visit.service_attitude = 1 and visit.response_speed = 1 and visit.repair_level = 1 then 1 else 0 end) satisfied_num,
        	    sum(case when visit.service_attitude = 0 then 1 when visit.response_speed = 0 then 1 when visit.repair_level = 0 then 1 when visit.yawp_problem_type = 0 then 1 else 0 end) unsatisfied_num,
        	    sum(case when visit.service_attitude = 1 then 1 else 0 end) srv_atu_num,
        	    sum(case when visit.service_attitude = 0 then 1 else 0 end) srv_bad_atu_num,
        	    sum(case when visit.repair_level = 1 then 1 else 0 end) srv_rpr_prof_num,
        	    sum(case when visit.repair_level = 0 then 1 else 0 end) srv_rpr_unprof_num,
        	    sum(case when visit.response_speed = 1 then 1 else 0 end) srv_high_res_num,
        	    sum(case when visit.response_speed = 0 then 1 else 0 end) srv_low_res_num,
        	    sum(case when visit.is_repair = 1 then 1 else 0 end) rtn_rpr_num
            from one_make_dwd.ciss_service_return_visit visit
        	left join one_make_dwd.ciss_service_workorder swo on visit.workorder_id = swo.id
        	where visit.dt = '20210101'
        	group by visit.workorder_id
        ) vstswo on visit.workorder_id = vstswo.workorder_id
        where visit.dt = '20210101'
        ;
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26
        • 27
        • 28
        • 29
        • 30
        • 31
        • 32
        • 33
        • 34
        • 35
        • 36
        • 37
        • 38
        • 39
        • 40
        • 41
    • 小结

      • 实现DWB层客户回访事实指标表的构建
  • 相关阅读:
    若依使用EasyExcel导入和导出数据
    Java8实战-总结48
    厦门城市内涝的落地解决方案,城市内涝积水监测系统
    网络安全等级保护测评师定义以及主要工作任务是什么?
    ACM算法笔记(六)排序算法【上】
    Android基础第十天 | 字节跳动第四届青训营笔记
    涛涛的Linux学习笔记
    汇编基础(2) -- ARM64
    【ASP.NET Core】标记帮助器——替换元素名称
    Wood,微型 Java ORM 框架(首次发版)
  • 原文地址:https://blog.csdn.net/xianyu120/article/details/132062561