• MK新老顾问自主拜访率


     use Omniture
     
     select VLR.YearMonth
     ,VLR.VisitorID
     ,VLR.ConsultantID
     ,VLR.Visits
     ,CL.LevelID
     ,CL.[Status]
     ,IfNew = case when 
     (VLR.YearMonth=startmonth) then '1'
     else '0' end
     into #VisitsLogin
     from VisitsLoginRecord VLR
      inner join (select *,CONVERT(varchar(6),StartDate,112) as startmonth 
     from ConsultantInfo) vstime on VLR.ConsultantID=vstime.ConsultantID
     inner join ConsultantLevel CL on VLR.ConsultantID=CL.ConsultantID and VLR.YearMonth=CL.YearMonth
    
    select COUNT(*) from #VisitsLogin
    
    
    --ALL访问记录与等级记录关联
    select V.YearMonth
    ,V.VisitorID
    ,V.ConsultantID
    ,v.Visits
    ,V.ifnew
    ,CL.LevelID
    ,CL.[Status]
    into #temp1
    from #VisitsLogin V
    inner join dbo.[ConsultantLevel] CL
    on V.ConsultantID=CL.ConsultantID
    and V.YearMonth=CL.YearMonth
    
    --New访问记录与等级记录关联
    select V.YearMonth
    ,V.VisitorID
    ,V.ConsultantID
    ,v.Visits
    ,V.ifnew
    ,NCL.LevelID
    ,NCL.[Status]
    into #tempnew1
    from #VisitsLogin V
    inner join dbo.[ConsultantLevel] NCL
    on V.ConsultantID=NCL.ConsultantID
    and V.YearMonth=NCL.YearMonth
    and V.ifnew=1
    
    --Old访问记录与等级记录关联
    select V.YearMonth
    ,V.VisitorID
    ,V.ConsultantID
    ,v.Visits
    ,V.ifnew
    ,OCL.LevelID
    ,OCL.[Status]
    into #tempold1
    from #VisitsLogin V
    inner join dbo.[ConsultantLevel] OCL
    on V.ConsultantID=OCL.ConsultantID
    and V.YearMonth=OCL.YearMonth
    and V.ifnew<>1
    
    
    --ALL访问顾问人数
    select YearMonth
    ,COUNT(distinct ConsultantID) as ConNum
    from #temp1
    group by YearMonth
    
    --New访问顾问人数
    select YearMonth
    ,COUNT(distinct ConsultantID) as ConNum
    from #tempnew1
    group by YearMonth
    
    --Old访问顾问人数
    select YearMonth
    ,COUNT(distinct ConsultantID) as ConNum
    from #tempold1
    group by YearMonth
    
    
    --All独立设备访问顾问数
    select * 
    into #temprank1
    from (
    select YearMonth
    ,VisitorID
    ,ConsultantID
    ,ifnew
    ,rank() over (partition by VisitorID order by CONVERT(int,LevelID) desc ) as Ranknom
     from #temp1) as st
     where st.Ranknom=1
     
     select YearMonth
     ,COUNT(distinct ConsultantID)
     from #temprank1
     group by YearMonth
    
    
    --New独立设备访问顾问数
    select * 
    into #tempnewrank1
    from (
    select YearMonth
    ,VisitorID
    ,ConsultantID
    ,ifnew
    ,RANK() over (partition by VisitorID order by CONVERT(int,LevelID) desc ) as RankNum
     from #temp1
     ) as st
     where st.RankNum=1
     and st.ifnew=1
     
     select YearMonth
     ,COUNT(distinct ConsultantID)
     from #tempnewrank1
     group by YearMonth
    
    
    --Old独立设备访问顾问数
    select * 
    into #tempoldrank1
    from (
    select YearMonth
    ,VisitorID
    ,ConsultantID
    ,ifnew
    ,rank() over (partition by VisitorID order by CONVERT(int,LevelID) desc ) as RankNum
     from #temp1
     ) as st
     where st.RankNum=1
     and st.ifnew<>1
     
    select YearMonth
     ,COUNT(distinct ConsultantID)
     from #tempoldrank1
     group by YearMonth
  • 相关阅读:
    linux 常用命令
    books list
    开发文化,沟通、会议、总结
    编程资源
    敏捷开发流程
    服务器安全部署指南
    服务器应用部署规范
    单元测试
    弱弱的页码问题
    实验A javaScript XML数据操作按姓名查询
  • 原文地址:https://www.cnblogs.com/monkeyfather/p/3867887.html
Copyright © 2020-2023  润新知