3 Replies Latest reply: Dec 17, 2015 6:19 AM by maicon mello RSS

    Dúvidas de Data

    maicon mello

      Boa noite ,

       

      Estou com uma dúvida que é o seguinte !

       

      Preciso comparar dados do ano atual com o ano anterior.

       

      Porém o ano anterior preciso comprar da seguinte forma:

       

      1ª segunda feira do ano atual com a 1ª segunda feira do ano anterior e assim por diante.

       

      Ou seja : 05/01/2015 comparar com 06/01/2014 e assim por diante !

       

      Alguém tem uma sugestão ??

        • Re: Dúvidas de Data
          Eduardo Sommer

          Boa noite, Maicon

           

          Eu tenho uma ideia para você. Vamos criar para cada uma de suas datas um identificador. O Qlikview numera os dias da semana de 0 a 6, sendo 0 a segunda-feira e 6 o domingo.

           

          O identificador que eu estou propondo é composto por um string com duas partes separadas por um pipe |

          A primeira parte identifica a ordem daquele dia da semana, no ano e a segunda parte identifica o próprio dia da semana. Assim, o primeiro domingo do ano receberá o identificador 1|6, a décima quarta-feira do ano será 10|2.

          Combinando-se este identificador com o ano da data, você pode fazer comparações do tipo 10|6 do ano 2014 com 10|6 do ano 2015 (ou seja, décimo domingo de 2014 com o décimo domingo de 2015)

          Para gerar o identificador, no script temos que incluir no load a seguinte expressão (considerando que o campo de data que vamos identificar seja o campo DATA):

           

          Load ...

                  ...

                  DATA,

                  div(DATA-yearstart(DATA),7)+1 & '|' &

                  (mod(DATA-yearstart(DATA),7)+num(weekday(yearstart(DATA)))) as Identificador,

                  ...

                  ...

          ;

           

          Caso não tenha ficado claro algum ponto, pergunte. Eu testei e funcionou.

          Nessa comparação, é importante lembrar que a primeira terça-feira do ano pode ser anterior à primeira segunda-feira do ano; basta que o ano inicie numa terça-feira.

           

          Bom proveito

           

          Eduardo