Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. DROP FUNCTION IF EXISTS dbo.delete_me
  2. GO
  3.  
  4. CREATE FUNCTION dbo.delete_me(
  5. @agent_id int,
  6. @latest_job_date datetime
  7. )
  8. RETURNS TABLE AS
  9. RETURN (
  10. WITH Per_Agent_Latest_Scores_CTE AS (
  11. SELECT TOP 30
  12. g.AccuracyScore AS AccuracyScore,
  13. g.FormattingScore AS FormattingScore
  14. FROM dbo.AgentJobs j
  15. INNER JOIN dbo.TcAgentJobGrades g ON g.JobId = j.Id
  16. LEFT JOIN dbo.AgentJobs gj ON g.GradingJobId = gj.Id
  17. WHERE j.AgentId = @agent_id AND j.CompletedOn < @latest_job_date
  18. AND j.CancelledOn IS NULL AND j.Type = 20
  19. AND gj.CancelledOn IS NULL -- exclude cancelled grades
  20. ORDER BY j.CompletedOn DESC
  21. )
  22. SELECT
  23. ROUND(AVG(CAST(AccuracyScore AS DECIMAL) / 20), 2) AS AvgAccuracy,
  24. ROUND(AVG(CAST(FormattingScore AS DECIMAL) / 20), 2) AS AvgFormatting
  25. FROM
  26. Per_Agent_Latest_Scores_CTE
  27. )
  28. GO
  29.  
  30. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
  31. SELECT
  32. j.CompletedOn,
  33. j.AgentLevelOnClaim,
  34. p.ProjectNumber,
  35. g.AccuracyScore / 20 as ReceivedAccuracyScore,
  36. g.FormattingScore / 20 as ReceivedFormattingScore,
  37. f.Rating as CustomerRating,
  38. computedScores.AvgAccuracy AS CurrentAccuracyScore,
  39. computedScores.AvgFormatting AS CurrentFormattingScore
  40. FROM dbo.AgentJobs j
  41. INNER JOIN dbo.Projects p on p.Id = j.ProjectId
  42. CROSS APPLY dbo.delete_me(j.AgentId, j.CompletedOn) computedScores
  43. LEFT JOIN dbo.TcAgentJobGrades g on g.JobId = j.Id
  44. LEFT JOIN dbo.AgentJobs gj ON g.GradingJobId = gj.Id
  45. LEFT JOIN dbo.TcCustomerDocumentFeedback f on f.AgentJobId = j.Id
  46. WHERE j.CompletedOn > '2017-01-01' and j.CompletedOn < '2017-05-01'
  47. AND j.CancelledOn IS NULL AND j.Type = 20
  48. AND gj.CancelledOn IS NULL -- exclude cancelled grades
  49. ORDER BY j.CompletedOn
  50.  
  51. GO
  52.  
  53. DROP FUNCTION dbo.delete_me
  54. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement