新人成长

新人成长跟踪表设计方案
潘强是此需求的BA,座机号码:621595
欧阳恩坤是SAS系统组的开发,此需求在源头系统取数上有任何疑问都可以请教他,座机号码:608142

开发此报表前,请先阅读“前线销售人力表”报表的加工逻辑,附件”前线销售人力表整理.txt“是我整理的,可以参考

维度的设计

统计时间 年、月
机构 区域细分至二三四级机构
渠道 直销/重客/银保/综拓/代理/车行/新渠道
人员类别 VP/VA/M/S
年龄区间 分为25岁以下、25-30岁、30-35岁、35-40岁、40-50岁、50岁以上
学历 高中及以下、大专、本科、研究生及以上

以上六个维度跟“前线销售人力表”报表一样
============================================================================================================
入渠时间(或入司) 进入渠道的时间节点(年,月)(不能大于月末时间点):
包括新入司的员工,和老员工转渠的时间
SELECT ACCURATE_START_DATE
  FROM (SELECT CHN.EMPLOYEE_CODE,
               CHN.CHANNEL_TYPE,
               MIN(CHN.START_DATE) ACCURATE_START_DATE,
               MAX(NVL(CHN.END_DATE, DATE ‘2051-01-01‘)) ACCURATE_END_DATE
          FROM (SELECT EMP.EMPLOYEE_CODE,
                       HIS.CHANNEL_TYPE,
                       HIS.CHANNEL_DUTY,
                       HIS.START_DATE,
                       HIS.END_DATE,
                       ROW_NUMBER() OVER(ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) - ROW_NUMBER() OVER(PARTITION BY EMP.EMPLOYEE_CODE, HIS.CHANNEL_TYPE ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) IND
                  FROM EPCISBASE.SAS_EMPLOYEE                EMP,
                                 EPCISBASE.SAS_LEVEL_HISTORY  HIS
                 WHERE EMP.HR_CODE IS NOT NULL
                   AND EMP.EMPLOYEE_CODE = HIS.EMPLOYEE_CODE
                   AND EMP.ENTER_DATE < 结束时间
                   AND NVL(EMP.LEAVE_DATE, SYSDATE) >= 开始时间
                   AND EMP.EMPLOYEE_CODE = 业务员编码) CHN
         GROUP BY CHN.EMPLOYEE_CODE, CHANNEL_TYPE, IND) TEMP
WHERE TEMP.CHANNEL_TYPE = 渠道编码;
 
保费区间,也就是上年保费达成60万以下、60-100万、100-150万、150万-200万、200-300万、300万-500万,500万及以上 sql如下============================================================================================================
--2015年以前查法
--epcis_SAS_COLLECT_CHANNEL
SELECT SUM(TT.COLLECT_AMOUNT)
  FROM SASMAN.SAS_COLLECT_CHANNEL TT
WHERE TT.EMPLOYEE_CODE = 业务员编码
   AND TT.YEAR = 年份
   --AND TT.MONTH = 月份;
 
--2015年之后查法
--?
SELECT t.COLLECT_AMOUNT,t.*
  FROM SASMAN.SAP_COLLECT_CHANNEL_EMP_DAILY t--业务员保费按日汇总表
WHERE t.EMPLOYEE_CODE = 业务员代码
   AND t.ACCOUNT_DATE >= 起始日期
   AND t.ACCOUNT_DATE < 结束日期;

入司人员类型 普通/培养期新人/猎鹰(培养其新人定义:曾有过免考核标识为“应届生”,猎鹰“入司当年的保费计划高于淘汰底线”,其他为普通)========================================================================================================================

培养期新人的判断方法
--epcis_SAS_DISMISS_DEGRADE
SELECT T.EMPLOYEE_CODE
  FROM SASMAN.SAS_DISMISS_DEGRADE T
 WHERE T.DEGRADE_TYPE = ‘D‘
   AND T.BEGIN_DATE <= 开始时间
   AND T.END_DATE >=结束时间
   AND T.EMPLOYEE_CODE = 业务员编码
  AND T.CONFIRM_FLAG=‘1‘

猎鹰的判断方法:猎鹰是指“入司当年的保费计划高于淘汰底线”的业务员

/*淘汰底线*/
--?
--epcis_DEPARTMENT_DEFINE
--EPCIS_SAS_EMPLOYEE
SELECT A.STANDARD_AMOUNT
  FROM (SELECT A.STANDARD_AMOUNT
          FROM SAS_DIRECT_DEGRADE_SET A,
               DEPARTMENT_DEFINE      B,
               EPCISBASE.SAS_EMPLOYEE E
         WHERE A.DEPARTMENT_CODE = B.DEPARTMENT_CODE
           AND E.DEPARTMENT_CODE = B.DEPARTMENT_CODE
           AND (A.EFFECTIVE_DATE <=
               TO_DATE(TRUNC(开始时间, ‘MM‘), ‘yyyy-mm-dd‘) AND
               NVL(A.INVALID_DATE, SYSDATE) >
               TO_DATE(TRUNC(开始时间, ‘MM‘), ‘yyyy-mm-dd‘) AND
               NVL(B.INVALIDATE_DATE, SYSDATE) >=
               TO_DATE(TRUNC(开始时间, ‘MM‘), ‘yyyy-mm-dd‘))
           AND A.PREMIUM_TYPE = ‘B‘ -- B为实收保费底线, A为标准底线   
           AND E.EMPLOYEE_CODE = 业务员编码
         ORDER BY B.DEPARTMENT_LEVEL DESC) A
 WHERE  ROWNUM = 1

/*当年保费计划*/
--?
SELECT T.PREMIUM_PLAN
  FROM SAP_EMP_PREMIUM_PLAN T
 WHERE T.CHANNEL = ‘DS‘ --直销
   AND T.EMPLOYEE_CODE = 业务员
   AND T.DUTY = 业务员职务
   AND T.CHANNEL = 业务员渠道
   AND YEAR = 年
   AND MONTH IS NULL
   AND T.PREMIUM_PLAN_TYPE = ‘ACCUMULATET‘;
UNION ALL
  SELECT T.PREMIUM_PLAN
    FROM SAP_EMP_PREMIUM_PLAN T
   WHERE T.CHANNEL = ‘BS‘ --重点客户
     AND T.EMPLOYEE_CODE = 业务员
     AND DUTY = 业务员职务
     AND T.CHANNEL = 业务员渠道
     AND YEAR = 年
     AND MONTH IS NULL
     AND T.PREMIUM_PLAN_TYPE = ‘ACCUMULATET‘;
UNION ALL
  SELECT T.PREMIUM_PLAN
    FROM SAP_EMP_PREMIUM_PLAN T
   WHERE T.CHANNEL = ‘IS‘ --银保
     AND T.EMPLOYEE_CODE = ‘业务员‘
     AND T.DUTY = 业务员职务
     AND T.CHANNEL = 业务员渠道
     AND YEAR = 年
     AND MONTH IS NULL
     AND T.PREMIUM_PLAN_TYPE = ‘TT‘;

指标的设计
月末在职人力:
和“前线销售人力表”的月末在职人力取法一样

入渠人数:
也就是 当月新入司人员 和 新转入本渠道的老员工 ,他们所入的渠道就是新入渠人数
当月新入司人力和“前线销售人力表”的取法一样
新转入本渠道的老员工逻辑:先判断是否是老员工,再判断此员工的本月渠道与上月渠道是否一样,如果不一样,则是新转入本渠道的人力,
----EPCIS_SAS_EMPLOYEE,EPCIS_SAS_LEVEL_HISTORY
SELECT CHANNEL_TYPE--渠道
  FROM (SELECT CHN.EMPLOYEE_CODE,
               CHN.CHANNEL_TYPE,
               MIN(CHN.START_DATE) ACCURATE_START_DATE,
               MAX(NVL(CHN.END_DATE, DATE ‘2051-01-01‘)) ACCURATE_END_DATE
          FROM (SELECT EMP.EMPLOYEE_CODE,
                       HIS.CHANNEL_TYPE,
                       HIS.CHANNEL_DUTY,
                       HIS.START_DATE,
                       HIS.END_DATE,
                       ROW_NUMBER() OVER(ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) - ROW_NUMBER() OVER(PARTITION BY EMP.EMPLOYEE_CODE, HIS.CHANNEL_TYPE ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) IND
                  FROM EPCISBASE.SAS_EMPLOYEE      EMP,
                       EPCISBASE.SAS_LEVEL_HISTORY HIS
                 WHERE EMP.HR_CODE IS NOT NULL
                   AND EMP.EMPLOYEE_CODE = HIS.EMPLOYEE_CODE
                   AND EMP.ENTER_DATE < 结束时间
                   AND NVL(EMP.LEAVE_DATE, SYSDATE) >= 开始时间
                   AND EMP.EMPLOYEE_CODE = 业务员编码) CHN
         GROUP BY CHN.EMPLOYEE_CODE, CHANNEL_TYPE, IND) TEMP
        
转渠人数:===
这里指的是转出渠道的人数,代码实现自己写:
1.先判断是否离司,取没有离司的数据
2.如果是新员工在月初入了某个渠道,在月末之前又离开了这个渠道,转去其他渠道,则也属于转渠,如果下面同个业务员编码返回两个渠道,则属于此种情况。做法是先判断是否是新员工,如果是新员工,则判断下面是否返回两条记录,如果是是两条则是转渠,否则不是
----EPCIS_SAS_EMPLOYEE,EPCIS_SAS_LEVEL_HISTORY
SELECT CHANNEL_TYPE--渠道
  FROM (SELECT CHN.EMPLOYEE_CODE,
               CHN.CHANNEL_TYPE,
               MIN(CHN.START_DATE) ACCURATE_START_DATE,
               MAX(NVL(CHN.END_DATE, DATE ‘2051-01-01‘)) ACCURATE_END_DATE
          FROM (SELECT EMP.EMPLOYEE_CODE,
                       HIS.CHANNEL_TYPE,
                       HIS.CHANNEL_DUTY,
                       HIS.START_DATE,
                       HIS.END_DATE,
                       ROW_NUMBER() OVER(ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) - ROW_NUMBER() OVER(PARTITION BY EMP.EMPLOYEE_CODE, HIS.CHANNEL_TYPE ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) IND
                  FROM EPCISBASE.SAS_EMPLOYEE      EMP,
                       EPCISBASE.SAS_LEVEL_HISTORY HIS
                 WHERE EMP.HR_CODE IS NOT NULL
                   AND EMP.EMPLOYEE_CODE = HIS.EMPLOYEE_CODE
                   AND EMP.ENTER_DATE < 结束时间
                   AND NVL(EMP.LEAVE_DATE, SYSDATE) >= 开始时间
                   AND EMP.EMPLOYEE_CODE = 业务员编码) CHN
         GROUP BY CHN.EMPLOYEE_CODE, CHANNEL_TYPE, IND) TEMP
        
3.老员工的情况,如果没有离司且不是新员工,则是老员工,先判断是否老员工,然后拿他们月初所在渠道和月末所在渠道对比,不一样则就是转渠的,比如说月初是在代理渠道,现在转到银保渠道,则银保渠道的转渠人数+1,而且他们的EMPLOYEE_CODE要一样,比如现在是7月27日,那这里的月初就是指6月1日0点,月末就是7月1日0点
----EPCIS_SAS_EMPLOYEE,EPCIS_SAS_LEVEL_HISTORY
SELECT CHANNEL_TYPE--上个月渠道
  FROM (SELECT CHN.EMPLOYEE_CODE,
               CHN.CHANNEL_TYPE,
               MIN(CHN.START_DATE) ACCURATE_START_DATE,
               MAX(NVL(CHN.END_DATE, DATE ‘2051-01-01‘)) ACCURATE_END_DATE
          FROM (SELECT EMP.EMPLOYEE_CODE,
                       HIS.CHANNEL_TYPE,
                       HIS.CHANNEL_DUTY,
                       HIS.START_DATE,
                       HIS.END_DATE,
                       ROW_NUMBER() OVER(ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) - ROW_NUMBER() OVER(PARTITION BY EMP.EMPLOYEE_CODE, HIS.CHANNEL_TYPE ORDER BY EMP.EMPLOYEE_CODE, HIS.START_DATE) IND
                  FROM EPCISBASE.SAS_EMPLOYEE      EMP,
                       EPCISBASE.SAS_LEVEL_HISTORY HIS
                 WHERE EMP.HR_CODE IS NOT NULL
                   AND EMP.EMPLOYEE_CODE = HIS.EMPLOYEE_CODE
                   AND EMP.ENTER_DATE < 结束时间 减 一个月
                   AND NVL(EMP.LEAVE_DATE, SYSDATE) >= 开始时间  减 一个月
                   AND EMP.EMPLOYEE_CODE = 业务员编码) CHN
         GROUP BY CHN.EMPLOYEE_CODE, CHANNEL_TYPE, IND) TEMP

离司人数:
和“前线销售人力表”的离司人力取法一样

留存率:代码实现自己写
月末在职人数/(入渠时间点的在渠人力数+入渠至月末进入渠道的人力数)

入渠时间点的在渠人力数:就是月初在渠的老员工数量
入渠至月末进入渠道的人力数:就是新进入此渠道的员工数量,包括新入司的和老员工转入此渠道的

在职人员当月保费 :

先判断是否在职,再取当月保费
--2015年以前查法
SELECT SUM(TT.COLLECT_AMOUNT)
  FROM SASMAN.SAS_COLLECT_CHANNEL TT
WHERE TT.EMPLOYEE_CODE = 业务员编码
   AND TT.YEAR = 年份
   AND TT.MONTH = 月份;
 
--2015年之后查法
SELECT t.COLLECT_AMOUNT,t.*
  FROM SASMAN.SAP_COLLECT_CHANNEL_EMP_DAILY t--业务员保费按日汇总表
WHERE t.EMPLOYEE_CODE = 业务员代码
   AND t.ACCOUNT_DATE >= 起始日期
   AND t.ACCOUNT_DATE < 结束日期;
  
  
在职人员年累计保费:
先判断是否在职,再取当年累计保费
--2015年以前查法
SELECT SUM(TT.COLLECT_AMOUNT)
  FROM SASMAN.SAS_COLLECT_CHANNEL TT
WHERE TT.EMPLOYEE_CODE = 业务员编码
   AND TT.YEAR = 年份
   AND TT.MONTH = 月份;
 
--2015年之后查法
SELECT t.COLLECT_AMOUNT,t.*
  FROM SASMAN.SAP_COLLECT_CHANNEL_EMP_DAILY t--业务员保费按日汇总表
WHERE t.EMPLOYEE_CODE = 业务员代码
   AND t.ACCOUNT_DATE >= 起始日期
   AND t.ACCOUNT_DATE < 结束日期;
  
在职人员当年承保客户数 : 在职人员当年承保客户数 /对应的在职人力数

在职人员当年承保客户数代码如下:
SELECT
A.SALE_AGENT_CODE, --业务员编码
COUNT(DISTINCT B.CLIENT_NAME) AS CLIENT_NUM --唯一客户数
  FROM (SELECT A.POLICY_NO, A.SALE_AGENT_CODE
          FROM EPCIS_AUTO_POLICY_BASE_INFO A
         WHERE A.POLICY_NO = B.POLICY_NO(+)
           AND A.UNDERWRITE_TIME >= TRUNC(开始时间,‘YYYY‘)
           AND A.UNDERWRITE_TIME < 结束时间
           AND A.BUSINESS_TYPE = ‘2‘
           AND A.CANEL_MARK = ‘N‘
        UNION ALL
        SELECT A.POLICY_NO, A.SALE_AGENT_CODE
          FROM EPCIS_NL_POLICY A
         WHERE A.POLICY_NO = B.POLICY_NO(+)
           AND A.UNDERWRITE_TIME >= TRUNC(开始时间,‘YYYY‘)
           AND A.UNDERWRITE_TIME < 结束时间
           AND A.BUSINESS_TYPE = ‘2‘
           AND A.CANEL_MARK = ‘N‘
        UNION ALL
        SELECT A.POLICY_NO, A.SALE_AGENT_CODE
          FROM EPCIS_ACC_POLICY_BASE_INFO A
         WHERE A.POLICY_NO = B.POLICY_NO(+)
           AND A.UNDERWRITE_TIME >= TRUNC(开始时间,‘YYYY‘)
           AND A.UNDERWRITE_TIME < 结束时间
           AND A.BUSINESS_TYPE = ‘2‘
           AND A.CANEL_MARK = ‘N‘) A,
       EPCIS_ECIF_CLIENT_INFO_APPLY B --团体客户保单信息表
 WHERE A.POLICY_NO = B.POLICY_NO(+)
 GROUP BY A.SALE_AGENT_CODE

报表初始化数据范围:2013年1月到当前月

该新建oracle 表就建表,该新建job就新建job,一个结果表不能实现就建些中间表

时间: 2024-11-07 16:08:10

新人成长的相关文章

【转】七年阿里老人谈新人成长

先做事再做人 新同学常有这些困惑,到底是做技术还是做业务?是每天加班加点写代码还是空点时间来看书学习?是先追求广度还是先钻研一门技术?是两耳不闻窗外事一心埋头做事还是和同事打成一片参加各种活动?这些问题也曾困扰着我. 我觉得新人到一个团队最关键的是在前3年建立个人品牌,为什么?当别人对你完全不了解,你做的第一件事非常重要.你给别人留下的印象会蔓延到整个公司,所以第一件事一定要做好.怎么才叫做好?在职场中,并不需要时刻比拼智商,大部分情下,做事认真一点.考虑更深入一点.积极主动一点,已经好于70%

新人成长之入门Vue.js指令介绍(一)

写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的非常简单,用起来也是非常的方便,通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手,还便于与第三方库或既有项目整合,足以应付任何规模的应用. 如果你之前已经习惯了用jQuery.JS操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你

帮朋友公司整理了个不怎么靠谱的新人成长简介

1:学习方法很重要,主动性最重要:先看书了解理论,网上搜代码,本地跑起来,再动手改,对照API改,然后删掉,对照API和需求完全手写.2:位,字节,进制,字符,字符集基础及转换. 要求:位/字节/字符 互相转换,2/8/10/16进制互相转换,并输出明文.3:文本,正则表达式操作.-----java.text.* java.util.regex 要求:字符集互相转换,日期,数字等格式化转换,正则匹配应用.4:IO,API结构,读写文件,读写文本文件,文件结构读取.------java.io.*

全局变量的危害

今日饱受一个全局变量的危害,导致多个项目出现问题,揪其根本原因是,全局变量的危害导致的.这里转载一篇关于全局变量危害的代码:工作也有些年头了,从一位技术新人成长到现在自诩小牛级别的人物,少不了要自己寻找资料阅读.论坛上.书店里.杂志上......要嘛是些菜鸟浅薄的自炫处女贴,要嘛是高屋建瓴云里来雾里去的概念文,好不容易遇到个实践型高手写的文章,却在渐入佳境之际嘎然而止.本是隔靴搔痒,看完后心中更是郁结不已.也罢,今日且强装回大牛,献丑谈一谈嵌入式C编程中全局变量问题.嵌入式特别是单片机os-le

豪情-2015年阅读书籍分享[上]

2015年阅读书籍分享[上] blog 前言:最近购了个kindle,疯狂的看了几本非技术类相关的书籍,感觉不错,结合以前感觉不错的书分享一下.分享的初衷还是推荐大家跳出技术的视角,用一种符合价值观或哲学平衡角度的来看待当前的一切.更重要的开阔自己的视野,让思路更活跃.仅个人视角,不喜勿喷,当然有好书肯定推荐.好多人问我是干啥的?其实我略懂点css,js而已.本博客持续更新,敬请持续关注. 一. 历史类 二. 职场 三. 创业 四. UI 前言:最近购了个kindle,疯狂的看了几本非技术类相关

不要把测试工具当饭吃

近年几年,无论是行业聚会还是猎头招人.无不体现着这一理念,测试工作越发被机械化Coding化,很多企业招人时也不乏喜欢给自己的员工提些要求QTP/Loadrunner/jmeter/selenium一系列测试化工具被列入正规.精益的代名词.于是我们投入了大量人力物力来实现我们心中挥之不去的理想与抱负,每日Build成了很多测试经理追求的梦想. 加之行业领袖们的吹捧,行业新兵薪水的大幅提升,一些不明真相的人们正大步迈入这个陷阱.我们做测试工具开发.测试工具应用,根本的意义是提升工作效率,降低产品成

性能测试分层模型-选自书籍:小强软件测试疯狂讲义

百度搜索:小强测试品牌 新书推荐 本书终于在前段时间出版了,现在已经可以在各大网店购买了,搜索书名即可.书籍购买地址:https://detail.tmall.com/item.htm?id=547310727717 这里我特别提前说一句:任何东西都有一定的受众群体,世界上也没有任何东西可以让所有人100%满意.So,本书也是.只要本书中有一个篇章的内容给你带来了影响那就是这本书的价值!感谢大家的支持. 引子 我为什么会把这个话题放到最开始呢?就是因为这些年在企业工作中.在教育领域培训中接触过不

嵌入式C编程经验 之 全局变量猛于虎

/********************************************************************************* * Filename: 一线研发之声:嵌入式C编程经验 之 全局变量猛于虎 * Author:SedateFire          E-mail:[email protected] * Version:1.001                 Time: 2012-01-05 * key: 嵌入式  os-less  全局变量 

《淘宝这十年》,recording something

被采访者:章文嵩,花名正明,淘宝网高级研究员.核心系统负责人. 子柳:你对刚入行的技术人员有什么建议?正明:找到自己感兴趣的,花时间投进去,通过实践后的知识积累比只看书本有用得多.我看过一本操作系统方面的英文书,其中引用了一段中国人的格言:"I hear and I forget. I see andI remember. I do and I understand",这句话给我留下非常深刻的印象.是荀子说的"不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之."