zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    戏说程序猿之荒唐的需求
    戏说程序猿之过年--二叔,我真不会修电脑
    深入理解设计模式(17):迭代器模式
    深入理解设计模式(16):备忘录模式
    我的2018
    Java高级篇(一)——线程
    Java进阶篇(六)——Swing程序设计(下)
    Java进阶篇(六)——Swing程序设计(上)
    Java进阶篇(五)——Java的I/O技术
    Java进阶篇(四)——Java异常处理
  • 原文地址:https://www.cnblogs.com/monkeyfather/p/3867887.html
Copyright © 2011-2022 走看看