Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
maiconmello
Creator III
Creator III

Dúvidas de Data

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 ??

1 Solution

Accepted Solutions
eduardo_sommer
Partner - Specialist
Partner - Specialist

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

View solution in original post

3 Replies
eduardo_sommer
Partner - Specialist
Partner - Specialist

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

maiconmello
Creator III
Creator III
Author

Olá Eduardo, primeiramente , obrigado pela ajuda !

Entendi !!! Isso mesmo !

maiconmello
Creator III
Creator III
Author

eduardo.sommer‌ só uma dúvida , agora preciso montar uma tabela !!

Dimensão    Expressao da selecao    Expressao do ano anterior, considerando o que montamos!!

Terei um calendario, e quando selecionar data do ano atual trazer informação do ano anterior tbm !