Advertisement
RogerioEustaquio

Untitled

Jul 6th, 2022
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 5.50 KB | None | 0 0
  1. SELECT id,
  2.                          grupo,
  3.                          leaf,
  4.                          preco_medioa preco_medio, preco_mediob, ROUND(100*(preco_mediob/preco_medioa-1),2) AS preco_mediox,
  5.                          mba mb, mbb, ROUND(100*(mbb/mba-1),2) AS mbx,
  6.                          roba rob, robb, ROUND(100*(robb/roba-1),2) AS robx,
  7.                          qtdea qtde, qtdeb, ROUND(100*(qtdeb/qtdea-1),2) AS qtdex,
  8.                          rola rol, rolb, ROUND(100*(rolb/rola-1),2) AS rolx,
  9.                          cmva cmv, cmvb, ROUND(100*(cmvb/cmva-1),2) AS cmvx,
  10.                          lba lb, lbb, ROUND(100*(lbb/lba-1),2) AS lbx
  11.                     FROM (
  12.                         SELECT 'REDE|REDE|'||'MARCA'||'|'||ID_MARCA AS id,
  13.                             MARCA AS grupo,
  14.                             'false' AS leaf,
  15.                             ROUND(SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN rob END)/SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN qtde END),2) AS preco_medioa,
  16.                             ROUND((CASE WHEN SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN qtde END) > 0 THEN (SUM(NVL(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN rol END,0)-NVL(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN cmv END,0))/SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN rol END))*100 END),2) AS mba,
  17.                             SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN rob END) AS roba,
  18.                             SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN qtde END) AS qtdea,
  19.                             SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN rol END) AS rola,
  20.                             SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN cmv END) AS cmva,
  21.                             SUM(CASE WHEN data >= '01/01/2021' AND data <= '31/01/2021' THEN lb END) AS lba,
  22.                             ROUND(SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN rob END)/SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN qtde END),2) AS preco_mediob,
  23.                             ROUND((CASE WHEN SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN qtde END) > 0 THEN (SUM(NVL(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN rol END,0)-NVL(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN cmv END,0))/SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN rol END))*100 END),2) AS mbb,
  24.                             SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN rob END) AS robb,
  25.                             SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN qtde END) AS qtdeb,
  26.                             SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN rol END) AS rolb,
  27.                             SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN cmv END) AS cmvb,
  28.                             SUM(CASE WHEN data >= '01/02/2021' AND data <= '28/02/2021' THEN lb END) AS lbb
  29.                         FROM (SELECT 'REDE' AS id_rede, 'REDE' AS rede, vi.id_empresa, em.apelido AS empresa, ic.id_marca, m.descricao AS marca, NVL(mg.gestor,'G5 N/D') id_gestor, NVL(mg.gestor,'G5 N/D') AS gestor,
  30.                                     --vi.id_empresa, em.apelido as empresa, ic.id_marca, m.descricao as marca,
  31.                                     TRUNC(vi.data_emissao,'MM') AS data,
  32.                                     SUM(vi.rob) AS rob,
  33.                                     SUM(vi.qtde) AS qtde,
  34.                                     SUM(vi.rol) AS rol,
  35.                                     SUM(vi.custo) AS cmv,
  36.                                     SUM(NVL(vi.rol,0)-NVL(vi.custo,0)) AS lb
  37.                                 FROM pricing.vm_ie_ve_venda_item vi,
  38.                                     ms.tb_item_categoria ic,
  39.                                     ms.tb_item i,
  40.                                     ms.tb_categoria c,
  41.                                     ms.empresa em,
  42.                                     ms.tb_marca m,
  43.                                     pricing.tb_marca_gestor mg
  44.                                 WHERE vi.id_item = ic.id_item
  45.                                 AND vi.id_categoria = ic.id_categoria
  46.                                 AND vi.id_item = i.id_item
  47.                                 AND vi.id_categoria = c.id_categoria
  48.                                 AND vi.id_empresa = em.id_empresa
  49.                                 AND ic.id_marca = m.id_marca
  50.                                 AND ic.id_marca = mg.id_marca(+)
  51.                                 AND vi.id_operacao IN (4,7)
  52.                                 AND vi.status_venda = 'A'
  53.                                 AND TRUNC(vi.data_emissao,'MM') <= '01/02/2021'
  54.                                 -- Data inicial B
  55.                                 AND TRUNC(vi.data_emissao,'MM') >= '01/01/2021'
  56.                                 -- Data final A
  57.                                 AND TRUNC(vi.data_emissao,'MM') <= '28/02/2021'
  58.                                 --and i.cod_item||c.descricao = 'JS00506.0'
  59.                             GROUP BY TRUNC(vi.data_emissao,'MM'), vi.id_empresa, em.apelido, ic.id_marca, m.descricao, mg.gestor)
  60.                         WHERE 1=1
  61.                          AND ID_REDE = 'REDE'
  62.                         GROUP BY REDE, MARCA, 'REDE|REDE|'||'MARCA'||'|'||ID_MARCA)
  63.                     WHERE 1=1
  64.                     ORDER BY GRUPO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement