Quantcast
Channel: SQL Server Reporting Services, Power View forum
Viewing all articles
Browse latest Browse all 10045

Employee not showing under correct manager

$
0
0

I have been using this query inside the package that I created to load data into cube. From this cube I am fetching records for my cascaded parameterized report. The issue here is one of the employee is showing under different team manager and site manager. This team manager has left the company and now the employee is back to its previous team manager. here is the code:

Truncate table CallCenterEmployee.dbo.tblCube_Staff;

GO

Insert Into CallCenterEmployee.dbo.tblCube_Staff
SELECT     dbo.tblStaff.Emp_N
, CONVERT(varchar, dbo.tblStaff.Emp_N) + CONVERT(varchar, tblDate.ID) AS SurrogateKey
, dbo.tblStaff.StaffId
, dbo.tblStaff.First_M
, dbo.tblStaff.Last_M
, dbo.tblStaff.PreferredName
, dbo.tblStaff.First_M + ' ' + dbo.tblStaff.Last_M AS FullName
, dbo.tblStaff.SupervisorEmp_N as SupervisorEmployeeNumber
, CONVERT(varchar, dbo.tblStaff.SupervisorEmp_N) + CONVERT(varchar, tblDate.ID) AS SupervisorKey

, SupervisorStaff.First_M as SupervisorFirst_M
, SupervisorStaff.Last_M as SupervisorLast_M
, SupervisorStaff.PreferredName as SupervisorPreferredName
, SupervisorStaff.First_M + ' ' + SupervisorStaff.Last_M AS SupervisorFullName
, SupervisorStaff.NTID as SupervisorNTID
, SupervisorStaff.EmailAddress as SupervisorEmailAddress
, case when AgentHierarchy.HierarchyLevel = 'Agent' and isnull(SupervisorHierarchy.HierarchyLevel,'999999') = '999999' then STN.SupervisorTeamName 
  when AgentHierarchy.HierarchyLevel = 'Agent' and SupervisorHierarchy.HierarchyLevel <> 'Supervisor' then STN.SupervisorTeamName 
  else SupervisorStaff.First_M + ' ' + SupervisorStaff.Last_M  end as HierarchySupervisor

, CONVERT(varchar, SupervisorStaff.SupervisorEmp_N) + CONVERT(varchar, tblDate.ID) AS TeamMgrKey
, CONVERT(varchar, SupervisorStaff.SupervisorEmp_N) as TeamMgrEmployeeNumber
, TeamMgr.First_M as TeamMgrFirst_M
, TeamMgr.Last_M as TeamMgrLast_M
, dbo.tblStaff.PreferredName as TeamMgrPreferredName
, TeamMgr.First_M + ' ' + TeamMgr.Last_M AS TeamMgrFullName
, dbo.tblStaff.NTID as TeamMgrNTID
, dbo.tblStaff.EmailAddress as TeamMgrEmailAddress
, Case when AgentHierarchy.HierarchyLevel = 'Agent' and isnull(TeamMgrHierarchy.HierarchyLevel,'999999') = '999999' then FIRM_Section + ' Unknown Team Mgr' 
  when AgentHierarchy.HierarchyLevel = 'Agent' and TeamMgrHierarchy.HierarchyLevel <> 'Team Mgr' then FIRM_Section + ' Unknown Team Mgr' 
  else TeamMgr.First_M + ' ' + TeamMgr.Last_M end as HierarchyTeamMgr


, dbo.tblStaff.NTID
, dbo.tblStaff.EmailAddress
, dbo.tblStaff.Location_C
, dbo.tblStaff.FIRM
, dbo.tblStaff.Status_C
, dbo.tblStaff.JobClass
, dbo.tblStaff.JobTitle
, dbo.tblStaff.Job_C
, dbo.tblStaff.Shift_N
, dbo.tblStaff.FTE
, CONVERT(varchar, dbo.tblStaff.Hire_D, 112) AS HireDate
, CONVERT(varchar, dbo.tblStaff.AdjHire_D, 112) AS AdjHireDate
, CONVERT(varchar, dbo.tblStaff.Seniority_D, 112) AS SeniorityDate
, tblDate.ID AS DateKey

, tblStaffStatusHours.StatusHrs_N AS StatusHoursKey

                      
                      
FROM         CCBR_DATA.dbo.tblDate AS tblDate WITH (nolock) 


INNER JOIN dbo.tblStaff WITH (nolock) 
ON tblDate.[Year] BETWEEN 2012 AND YEAR(GETDATE()) 
AND tblDate.StandardDate BETWEEN tblSTaff.Eff_D AND CASE WHEN tblStaff.Exp_D > getdate() THEN  DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)) ELSE tblStaff.Exp_D END AND tblDate.StandardDate <= ISNULL(tblStaff.Term_D, DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0))) 

Left Join CallCenterEmployee.dbo.tblStaff as SupervisorStaff(nolock)
on SupervisorStaff.SupervisorEmp_N = SupervisorStaff.Emp_N
and tblDate.StandardDate between SupervisorStaff.Eff_D and CASE WHEN SupervisorStaff.Exp_D > getdate() THEN DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)) ELSE SupervisorStaff.Exp_D END AND tblDate.StandardDate <= ISNULL(SupervisorStaff.Term_D, DATEADD(MILLISECOND, -3,DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0))) 

Left Join CallCenterEmployee.dbo.tblStaffHierarchy as AgentHierarchy(nolock)
on tblStaff.Job_C = AgentHierarchy.Job_C


Left Join CallCenterEmployee.dbo.tblStaffHierarchy as SupervisorHierarchy(nolock)
on SupervisorStaff.Job_C = SupervisorHierarchy.Job_C

Left Join (
Select substring(GSW_EMPLOYEE_ID,1,6) as GSW_EMPLOYEE_ID
, WM_START_DATE
, isnull(WM_END_DATE,'12/31/2999') as WM_END_DATE
, b.WM_NAME as SupervisorTeamName

from MRKREPORTS.dbo.WM_AGENTS a (nolock)
Inner Join MRKREPORTS.dbo.WM_TEAMS b (nolock)
on a.WM_TEAM_ID = b.WM_TEAM_ID
where ISNUMERIC(GSW_EMPLOYEE_ID) = 1
) STN
on tblStaff.Emp_N = STN.GSW_EMPLOYEE_ID
and tblDate.StandardDate between STN.WM_START_DATE and STN.WM_END_DATE

Left Join dbo.tblStaff as TeamMgr(nolock)
on SupervisorStaff.SupervisorEmp_N = TeamMgr.Emp_N
and tblDate.StandardDate between TeamMgr.Eff_D and CASE WHEN TeamMgr.Exp_D > getdate() THEN  dateadd(y,1,getdate()) ELSE TeamMgr.Exp_D END AND tblDate.StandardDate <= ISNULL(TeamMgr.Term_D, GETDATE()) 

Left Join CallCenterEmployee.dbo.tblStaffHierarchy as TeamMgrHierarchy(nolock)
on TeamMgr.Job_C = TeamMgrHierarchy.Job_C


INNER JOIN CCBR_DATA.dbo.tblStaffFirm WITH (nolock) 
ON dbo.tblStaff.FIRM = tblStaffFirm.FIRM_SECTION 
AND tblStaffFirm.BUS_UNIT IN ('B029','B620','B629','B420','B020','B278','B291','B028', 'B432', 'B732','B748') 

INNER JOIN CallCenterEmployee.dbo.tblStaffStatusHours WITH (nolock) 
ON tblStaffStatusHours.StatusHrs_N = case when dbo.tblStaff.FTE = '0.00000' then 98 else ISNULL(dbo.tblStaff.FTE * 40, 99) end


Viewing all articles
Browse latest Browse all 10045

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>