none
LAG RRS feed

  • Pergunta

  • Bom dia , 

    Tenho o seguinte dados :

    Preciso montar lógica que me retorne o registro anterior (coluna ESTRATIFICAÇÃO PIRAMIDE UDS), caso o campo dt_hr_abertura <30 dias em relação ao registro anterior, o resultado seria conforme a imagem abaixo, coluna em amarelo:

    Obs.: está regra será valida apenas se a coluna designacao_circuito for igual / a mesma.

    Até consegui trazer a coluna ESTRATIFICAÇÃO PIRAMIDE UDS anterior com o LAG , mas não consegui aplicar a regra dos 30 dias.

    with CTE_RN as(
        select 
    		designacao_circuito,
    		dt_hr_abertura,
    		rreip,
    		[ESTRATIFICAÇÃO PIRAMIDE UDS],				
             ROW_NUMBER() OVER(PARTITION BY designacao_circuito ORDER BY designacao_circuito,dt_hr_abertura asc) as RN_qtde -- Função ROW_NUMBER CRIA UMA NUMERAÇÃO PARA CADA REC QUE SE REPETE 
    		     from  BASE_RREIP
    )
    select * , 
    		designacao_circuito + '-' + CAST(RN_qtde as varchar) AS circuito_RREIP,		 
    		 LAG([ESTRATIFICAÇÃO PIRAMIDE UDS], 1,0) OVER (ORDER BY year(dt_hr_abertura)) AS 'Área Ofensora'		 
    from CTE_RN
    	where rreip = 'sim' and designacao_circuito = '003/327555927'

     



    • Editado Edvaldo A quarta-feira, 20 de junho de 2018 14:43 .
    quarta-feira, 20 de junho de 2018 14:37

Respostas

Todas as Respostas

  • Deleted
    • Marcado como Resposta Edvaldo A quarta-feira, 20 de junho de 2018 19:38
    quarta-feira, 20 de junho de 2018 19:11
  • Perfeito José ! Muito Obrigado !
    quarta-feira, 20 de junho de 2018 19:38
  • Deleted
    quarta-feira, 20 de junho de 2018 19:45
  • José, só para entendimento, eu ocultei algumas colunas ... meu cenário é o seguinte:

    A cada registro no print, trata se de um chamado feito por um cliente, no caso do print é apenas um cliente, a coluna designacao_circuito é uma das formas de identificar quem é o cliente, o objetivo deste código é saber quem fez o atendimento anterior ao chamado registrado, desde que contemple alguns critérios : 

    a coluna RREIP = sim 

    entre uma reclamação e outra no espaço de <=30 dias

    e por fim mostrar a área que fez o atendimento anterior


    • Editado Edvaldo A quinta-feira, 21 de junho de 2018 11:07 .
    quinta-feira, 21 de junho de 2018 11:03