Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
lucas_rezende
Contributor
Contributor

Comparação de Vendas: Dia da Semana Ano Anterior x Ano atual

Bom dia a todos!

Pessoal, preciso da ajuda de vocês. Estou tentando fazer uma comparação de vendas pelo dia da semana, procurei aqui na comunidade algo parecido para auxilio, porem não tive êxito.

Explicação: Tenho as vendas do mês de julho 01/07/2016 à 31/07/2016 e quero comparar com as vendas do ano passado, porém quero comparar por dia da semana e não por dia do mês, por exemplo, dia 01/07/2016 cai em uma Sexta-Feira e no ano passado dia 01/07/2015 cai em uma Quarta-Feira, então começarei a minha comparação pelo dia 03/07/2015 seguindo o mesmo dia da semana do ano atual e terminará dia 02/08/2015, que será um domingo conforme dia 31/07/2016.

Quem puder me dar um help?!

Atenciosamente,

Lucas Pinheiro.

Labels (1)
1 Solution

Accepted Solutions
Anonymous
Not applicable

Bom dia,

vamos considerar que vc tem um mês e ano selecionados:

primeiro dia do mês -> monthstart(CAMPO_DATA)     01/07/2016

dia da semana -> weekday(monthstart(CAMPO_DATA))    retorna um num entre 0 e 6 -> sexta feira = 5


mesma data do ano anterior -> addyears(monthstart(CAMPO_DATA),-1)  01/07/2015

dia da semana da data anterior-> weekday(addyears(monthstart(CAMPO_DATA),-1) )     quarta feira = 3

Com essas funções você já consegue trabalhar nelas e fazer o que precisa, [ 01/07/2015 + (5-3)  ] = 03/07/2015, sugiro colocar isso em variáveis para ficar mais fácil de trabalhar.


View solution in original post

5 Replies
Anonymous
Not applicable

Bom dia,

vamos considerar que vc tem um mês e ano selecionados:

primeiro dia do mês -> monthstart(CAMPO_DATA)     01/07/2016

dia da semana -> weekday(monthstart(CAMPO_DATA))    retorna um num entre 0 e 6 -> sexta feira = 5


mesma data do ano anterior -> addyears(monthstart(CAMPO_DATA),-1)  01/07/2015

dia da semana da data anterior-> weekday(addyears(monthstart(CAMPO_DATA),-1) )     quarta feira = 3

Com essas funções você já consegue trabalhar nelas e fazer o que precisa, [ 01/07/2015 + (5-3)  ] = 03/07/2015, sugiro colocar isso em variáveis para ficar mais fácil de trabalhar.


lucas_rezende
Contributor
Contributor
Author

Ola, Rodrigo!

Obrigado pela interação.

Você conseguiria me exemplificar melhor de como eu faria no QlikView, pois sou iniciante e tem algumas coisas que ainda sou limitado!

Agradeço novamente!

Anonymous
Not applicable

Opa Lucas,

Então existem várias formas de mostrar esse resultado, eu lhe dei uma ideia de como chegar no "03/07/2015" , a partir dessa data vc pode usar ela em uma condicional, set analysis... Tudo depende da forma como vc pretende mostrar essa informação.

Não tenho nenhum exemplo pronto aqui.

Mas posta qvw  com uma amostra dos dados, com o que vc tem hoje e o como vc queria mostrar essa comparação.. que eu vou te ajudando.

lucas_rezende
Contributor
Contributor
Author

Rodrigo, consegui fazer um código aqui para tratar melhor por causa dos anos bissextos.

Segue código para conhecimento:

Date(AddYears(DATA_VENDA,-1) + If(Day(MonthEnd(Date(Concat(DISTINCT YearName(DATA_VENDA)&'-02-01')))) = 29,

    If(Month(DATA_VENDA) > 2,2, 

        If(Date(DATA_VENDA) = YearName(DATA_VENDA)&'-02-29',2,1)),1))

Atenciosamente,

mauroponte
Creator II
Creator II

Lucas,

Tente as expressões abaixo:

Data Inicial do Ano anterior:

date(addyears(monthstart(max(Data_Referencia)),-1)+weekday(monthstart(max(Data_Referencia)) )-weekday(addyears(monthstart(max(Data_Referencia)),-1) ),'DD/MM/YYYY')

Data Final do Ano Anterior:

monthend(date(addyears(monthstart(max(Data_Referencia)),-1)+weekday(monthstart(max(Data_Referencia)) )-weekday(addyears(monthstart(max(Data_Referencia)),-1) ),'DD/MM/YYYY'))+weekday(monthstart(max(Data_Referencia)) )-weekday(addyears(monthstart(max(Data_Referencia)),-1) )

As datas serão Calculadas de acordo com o ano e mes selecionados.