Facilitating the Industrial Internet of Things and the Service Domain of Industrial Big Data: Analysis of the Theme of the Return Visit【28】

11: Service Domain: Analysis of Return Visit Themes

  • Goal: Master the needs analysis of the topic of return visits

  • path

    • step1: Requirements
    • step2: Analysis
  • implement

    • Requirements: Statistics of the results of return visit theme indicators in different dimensions

      Field Name field description source
      rtn_srv_num The number of returning service personnel one_make_dwb.fact_srv_rtn_visit
      vst_user Number of return visitors one_make_dwb.fact_srv_rtn_visit
      wait_dispatch_num Number of workers to be dispatched one_make_dwb.fact_worker_order
      wait_departure_num Quantity to be departed one_make_dwb.fact_worker_order
      alread_complete_num The number of work orders completed one_make_dwb.fact_worker_order
      processing_num The number of work orders being processed one_make_dwb.fact_worker_order
      satisfied_num Satisfied quantity one_make_dwb.fact_srv_rtn_visit
      unsatisfied_num Dissatisfied quantity one_make_dwb.fact_srv_rtn_visit
      srv_atu_num Satisfied service attitude one_make_dwb.fact_srv_rtn_visit
      srv_bad_atu_num Unsatisfactory service attitude one_make_dwb.fact_srv_rtn_visit
      srv_rpr_prof_num Satisfied quantity of service maintenance level one_make_dwb.fact_srv_rtn_visit
      srv_rpr_unprof_num Number of unsatisfactory service and maintenance levels one_make_dwb.fact_srv_rtn_visit
      srv_high_res_num Satisfactory service response speed one_make_dwb.fact_srv_rtn_visit
      srv_low_res_num Unsatisfactory service response speed one_make_dwb.fact_srv_rtn_visit
      rtn_rpr_num Rework Quantity one_make_dwb.fact_srv_rtn_visit
      max_vst_user Maximum number of returning visitors one_make_dwb.fact_srv_rtn_visit
      min_vst_user Minimum number of return visitors one_make_dwb.fact_srv_rtn_visit
      dws_day string Date dimension - by day one_make_dws.dim_date
      dws_week string Date dimension - by week one_make_dws.dim_date
      dws_month string Date dimension - by month one_make_dws.dim_date
      orgname Organizational structure - the department to which the return visitor belongs one_make_dws.dim_emporg
      posiname Organizational structure - the position of the return visitor one_make_dws.dim_emporg
      posiname Organization - name of return visitor one_make_dws.dim_emporg
      oil_type string Gas station type one_make_dws.dim_oilstation
      oil_province Province of the gas station one_make_dws.dim_oilstation
      oil_city string City where the gas station belongs one_make_dws.dim_oilstation
      oil_county string Gas station area one_make_dws.dim_oilstation
      customer_classify customer type one_make_dws.dim_oilstation
      customer_province Customer's province one_make_dws.dim_oilstation
    • analyze

      • index

        • Number of return visit engineers, number of return visit personnel, maximum number of return visit personnel, minimum number of return visit personnel
          • Return Transaction Fact Sheet
        • Quantity to be dispatched, quantity to be dispatched, quantity completed, quantity in process
        • Ticket transaction fact table
        • Satisfactory quantity, unsatisfactory quantity, satisfactory attitude quantity, dissatisfied attitude quantity, satisfactory level quantity, unsatisfactory level quantity, satisfactory response speed quantity, unsatisfactory response speed quantity, repair quantity
        • Return Transaction Fact Sheet
      • dimension

        • Date dimensions: day, week, month
        • date dimension table
        • Organization dimension: personnel department, personnel position, personnel name
        • Organization Dimension Table
        • Gas station dimensions: type, province, city, region
      • Customer dimension: type, province

        • Gas Station Dimension Table
      • data

        • fact sheet

          • fact_srv_rtn_visit: return visit transaction fact table

            select
                srv_user_id,--工程师id
                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, --返修数量
                wrkodr_id, --工单id
                os_id,--油站id
                dt --日期id
            from fact_srv_rtn_visit;
            
          • fact_worker_order: work order transaction fact table

          select
              wo_id,--工单id
              wait_dispatch_num,--待派工个数
              wait_departure_num,--待出发个数
              alread_complete_num,--已完成个数
              processing_num --正在处理个数
          from fact_worker_order;
          
          • dimension table

            • dim_oilstation: oil station dimension table

              select
                  id,--油站id
                  company_name,--公司名称
                  province_name,--省份名称
                  city_name,--城市名称
                  county_name,--区域名称
                  customer_classify_name,--客户名称
                  customer_province_name--客户省份
              from dim_oilstation;
              
            • dim_date: time dimension table

              select
                  date_id,--天
                  week_in_year_id,--周
                  year_month_id --月
              from dim_date;
              
            • dim_emporg: organizational dimension

              select
                  empid,--人员id
                  orgname,--部门名称
                  posiname,--岗位名称
                  empname --员工名称
              from dim_emporg;
              
              
      • analyze

        select
            srv_user_id,--工程师id
            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, --返修数量
            b.wait_dispatch_num,--待派工个数
            b.wait_departure_num,--待出发个数
            b.alread_complete_num,--已完成个数
            b.processing_num, --正在处理个数
            c.orgname,--部门名称
            c.posiname,--岗位名称
            c.empname --员工名称
            wrkodr_id, --工单id
            os_id,--油站id
            dt --日期id
        from fact_srv_rtn_visit a
        join fact_worker_order b on a.wrkodr_id = b.wo_id
        join one_make_dws.dim_emporg c on a.srv_user_id = c.userid
        join one_make_dws.dim_oilstation d on a.os_id = d.id
        join one_make_dws.dim_date e on a.dt = e.date_id;
        
  • summary

    • Master the needs analysis of the subject of return visits

12: Service domain: return visit theme implementation

  • Goal: Realize the construction of dimension indicators for the return visit theme table

  • implement

    • build table

      drop table if exists one_make_st.subj_rtn_visit;
      create table if not exists one_make_st.subj_rtn_visit(
          rtn_srv_num int comment '回访服务人员数量'
          ,vst_user int comment '回访人员数量'
          ,wait_dispatch_num bigint comment '待派工数量'
          ,wait_departure_num bigint comment '待出发数量'
          ,alread_complete_num bigint comment '已完工工单数量'
          ,processing_num bigint comment '正在处理工单数量'
          ,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 '返修数量'
          ,max_vst_user int comment '回访人员最大数量'
          ,min_vst_user 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_rtn_visit'
      ;
      
    • Construct

      insert overwrite table one_make_st.subj_rtn_visit partition(month = '202101', week='2021W1', day='20210101')
      select
      	sum(rtn_srv_num) rtn_srv_num,                                --回访工程师数量
      	sum(vst_user) vst_user,                                      --回访人员数量
      	sum(wait_dispatch_sumnum) wait_dispatch_sumnum,              --待派工数量
          sum(wait_departure_sumnum) wait_departure_sumnum,            --待出发数量
      	sum(alread_complete_sumnum) alread_complete_sumnum,          --已完工数量
      	sum(processing_sumnum) processing_sumnum,                    --处理中数量
          sum(satisfied_sumnum) satisfied_sumnum,                      --满意数量
      	sum(unsatisfied_sumnum) unsatisfied_sumnum,                  --不满意数量
      	sum(srv_atu_sumnum) srv_atu_sumnum,                          --态度满意数量
          sum(srv_bad_atu_sumnum) srv_bad_atu_sumnum,                  --态度不满意数量
      	sum(srv_rpr_prof_sumnum) srv_rpr_prof_sumnum,                --水平满意数量
      	sum(srv_rpr_unprof_sumnum) srv_rpr_unprof_sumnum,            --水平不满意数量
          sum(srv_high_res_sumnum) srv_high_res_sumnum,                --响应速度满意数量
      	sum(srv_low_res_sumnum) srv_low_res_sumnum,                  --响应速度不满意数量
      	sum(rtn_rpr_sumnum) rtn_rpr_sumnum,                          --返修数量
          max(vst_user) max_vst_user,                                  --回访人员最大数量
      	min(vst_user) min_vst_user,                                  --回访人员最小数量
      	dws_day,                                                     --日期天
      	dws_week,                                                    --日期周
      	dws_month,                                                   --日期月
      	orgname,                                                     --组织机构人员部门
      	posiname,                                                    --组织机构人员岗位
      	empname,                                                     --组织机构人员姓名
      	oil_type,                                                    --油站类型
      	oil_province,                                                --油站省份
          oil_city,                                                    --油站城市
      	oil_county,                                                  --油站区域
      	customer_classify,                                           --客户类型
      	customer_province                                            --客户省份
      from (
      		 --查询得到每个工单的指标
               select
                   count(fsrv.srv_user_id) rtn_srv_num,
                   count(fsrv.vst_user_id) vst_user,
                   sum(fwo.wait_dispatch_num) wait_dispatch_sumnum,
                   sum(fwo.wait_departure_num) wait_departure_sumnum,
                   sum(fwo.alread_complete_num) alread_complete_sumnum,
                   sum(fwo.processing_num) processing_sumnum,
                   sum(fsrv.satisfied_num) satisfied_sumnum,
                   sum(fsrv.unsatisfied_num) unsatisfied_sumnum,
                   sum(fsrv.srv_atu_num) srv_atu_sumnum,
                   sum(fsrv.srv_bad_atu_num) srv_bad_atu_sumnum,
                   sum(fsrv.srv_rpr_prof_num) srv_rpr_prof_sumnum,
                   sum(fsrv.srv_rpr_unprof_num) srv_rpr_unprof_sumnum,
                   sum(fsrv.srv_high_res_num) srv_high_res_sumnum,
                   sum(fsrv.srv_low_res_num) srv_low_res_sumnum,
                   sum(fsrv.rtn_rpr_num) rtn_rpr_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_srv_rtn_visit fsrv
      		 --关联工单事实表
      	     left join one_make_dwb.fact_worker_order fwo on fsrv.wrkodr_id = fwo.wo_id
      		 --关联日期维度表
      	     left join one_make_dws.dim_date dd on fsrv.dt = dd.date_id
      		 --关联油站维度表
      	     left join one_make_dws.dim_oilstation dimoil on fsrv.os_id = dimoil.id
      		 --关联组织机构维度表
      	     left join one_make_dws.dim_emporg emp on fsrv.vst_user_id = emp.empid
               where dd.year_month_id = '202101'and dd.week_in_year_id = '2021W1' and  dd.date_id = '20210101'
      		 --按照分组维度聚合
               group by fsrv.wrkodr_id, 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
           )
      group by dws_day, dws_week, dws_month, orgname, posiname, empname, oil_type, oil_province, oil_city, oil_county, customer_classify, customer_province
      ;
      
  • summary

    • Realize the dimension index construction of the return visit theme table

Guess you like

Origin blog.csdn.net/xianyu120/article/details/132204056
Recommended