Advertisement
Guest User

Untitled

a guest
May 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. USE [MRCDMS]
  2. GO
  3. SET ANSI_NULLS ON
  4. GO
  5.  
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8.  
  9. CREATE FUNCTION fnOLperformmenttest (
  10. @fromdate date)
  11. RETURNS @OLperformment TABLE
  12. (
  13. CustomerCD NVARCHAR(50),
  14. TranAmount DECIMAL(20,4)
  15. )
  16. AS
  17. BEGIN
  18. INSERT @OLperformment
  19. SELECT CASE
  20. ---YTD Actual---
  21. WHEN tb1.OrderDate BETWEEN DATEADD(yy, DATEDIFF(yy, 0, @fromdate), 0) AND @fromdate
  22. THEN (SELECT tb1.CustomerCD,SUM(tb1.TranAmt)
  23. WHERE tb1.OrderDate
  24. BETWEEN DATEADD(yy, DATEDIFF(yy, 0, @fromdate), 0) AND @fromdate
  25. GROUP BY tb1.CustomerCD)
  26. ---Last YTD-----
  27. WHEN tb1.OrderDate BETWEEN DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,@fromdate),0))
  28. AND DATEADD(week, -52, @fromdate)
  29. THEN (SELECT tb1.CustomerCD,SUM(TranAmt)
  30. WHERE tb1.OrderDate BETWEEN DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,@fromdate),0))
  31. AND DATEADD(yy, -1, @fromdate)
  32. GROUP BY tb1.CustomerCD)
  33. ---MTDActual---
  34. WHEN tb1.OrderDate BETWEEN DATEADD(mm, DATEDIFF(mm, 0, @fromdate), 0) AND @fromdate
  35. THEN (SELECT tb1.CustomerCD,SUM(tb1.TranAmt)
  36. WHERE tb1.OrderDate BETWEEN DATEADD(mm, DATEDIFF(mm, 0, @fromdate), 0) AND @fromdate
  37. GROUP BY tb1.CustomerCD)
  38. END
  39. FROM dbo.TestOLPerforment AS tb1
  40. RETURN;
  41. END;
  42. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement