Advertisement
RogerioEustaquio

Untitled

May 11th, 2022
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.43 KB | None | 0 0
  1. SELECT rede,
  2.             emp,
  3.             codmarca,
  4.             rol,
  5.             (CASE WHEN ac <= 50 THEN 'A' WHEN ac <= 80 THEN 'B' ELSE 'C' END) AS curva_rol
  6.         FROM (SELECT rede,
  7.                     emp,
  8.                     codmarca,
  9.                     SUM(rol) AS rol,
  10.                     SUM(SUM(fr)) over (PARTITION BY rede ORDER BY rol DESC rows unbounded preceding) AS ac
  11.                 FROM (
  12.                 SELECT rede,
  13.                         emp,
  14.                         codmarca,
  15.                         rol,
  16.                         100*RATIO_TO_REPORT((CASE WHEN rol > 0 THEN rol END)) over (PARTITION BY rede) fr
  17.                     FROM (SELECT 'REDE' AS rede,
  18.                                 a.emp ,
  19.                                 a.cod_marca AS codmarca,
  20.                                 ROUND(SUM(rol),2) AS rol
  21.                             FROM vm_skvendaitem_master a
  22.                             WHERE 1 = 1
  23.                             AND TRUNC(a.data,'MM') >= '01/11/2021'
  24.                             AND a.marca NOT IN ('MWM','MWM IESA','MWM OPCIONAL','EMERGENCIAL')
  25.                            
  26.                             AND TRUNC(a.data) >= TO_DATE('01/01/2022') AND TRUNC(a.data) <= SYSDATE
  27.                            
  28.                            
  29.                             GROUP BY a.emp, a.cod_marca)
  30.             )
  31.             GROUP BY rede, emp,codmarca, rol )
  32.     ORDER BY emp,codmarca, ac ASC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement