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: 
Filipe
Creator
Creator

Ultimos 14 dias da Data

Bom dia comunidade!

Uma dúvida, eu possuo um campo "data abertura", gostaria de fazer uma visão com essa data, mas gostaria apenas de pegar o dia e somente os últimos X dias, de acordo com o que me for pedido, X podendo ser por exemplo 14.

Muito Obrigado a todos!

Labels (3)
1 Solution

Accepted Solutions
marksouzacosta
Partner - Specialist
Partner - Specialist

Ah nesse caso você pode usar a mesma expression que mandei anteriormente mas no caso voce usaria a função Today() no lugar de Max([data abertura]). Ficaria assim:

Sum({<[data abertura] = {">=$(=Date(Today()-$(vRollBackDays)))<=$(=Today())"}>} Vendas)

Ou no caso de sendo um valor fixo de 14 dias:

Sum({<[data abertura] = {">=$(=Date(Today()-14))<=$(=Today())"}>} Vendas)


Uma dica, quando você estiver editando sua Measure, repare no rodapé da janela de edição da Measure, você vai ver como o Set Analysis está interpretando suas formulas. Veja a imagem abaixo:

mark_costa_0-1707234599163.png

 

Read more at Data Voyagers - datavoyagers.net

View solution in original post

6 Replies
marksouzacosta
Partner - Specialist
Partner - Specialist

Fala Filipe,

Existem várias formas de resolver esse problema. Vou descrever aqui umas soluções que imagino ai você me fala qual a que mais se aproxima do que você tá procurando:

Solução 1
Essa é a mais simples e a que dá menos trabalho. Apenas adicione um campo de calendário num chart Date Picker e deixe o modo Interval ativo pra você pode selecionar ranges de dates.

Solução 2
Essa solução é composta de dois elementos:
A - Você adiciona um chart de entrada de variáveis pro usuário poder digitar os ultimos X dias - vou chamála de vRollbackDays - que ele quer visualizar
B - Essa parte é a mais complexa. Aqui pelo que entendi, você quer pegar a data que o usuário selecionou e diminuir ela em X dias, correto? Se for isso, seu código vai ser semelhante a esse:

Sum({<[data abertura] = {">=$(=Date(Max([data abertura]-$(vRollBackDays)))<=$(=Max([data abertura]))"}>} Vendas)

Fiz de cabeça aqui a expression então pode ter erros. Um problema comum também é o Qlik não estar entendendo o seu campo [data abertura] como Date, entao é um ponto pra se revisar.

Veja se faz sentido e vamos continuando com a solução.

Abraço,

Mark Costa

Read more at Data Voyagers - datavoyagers.net
Filipe
Creator
Creator
Author

Obrigado pela resposta @marksouzacosta, na verdade é mais simples do que você pensou.
Só preciso de um visão que acompanhe os dias e diminua X dias que ainda vai ser definido, mas esses dias não irão variar, se for definido em 14, será sempre 14.

Exemplo: a data de hoje é 30/01/2024 gostaria que mostrasse apenas o número 30, 29, 28 ... até o 15.
no dia seguinte 31/01/2024 a mesma coisa mas até o 16 e assim subsequente.

Eu até realizei no meu calendário o campo "dia do atendimento", mas ainda estou vendo o motivo que ele não transformou todas as datas para dia.

Filipe
Creator
Creator
Author

Consegui pegar os Dias no calendário os dias certinhos agora, só preciso selecionar os últimos X dias agora.

marksouzacosta
Partner - Specialist
Partner - Specialist

Ah nesse caso você pode usar a mesma expression que mandei anteriormente mas no caso voce usaria a função Today() no lugar de Max([data abertura]). Ficaria assim:

Sum({<[data abertura] = {">=$(=Date(Today()-$(vRollBackDays)))<=$(=Today())"}>} Vendas)

Ou no caso de sendo um valor fixo de 14 dias:

Sum({<[data abertura] = {">=$(=Date(Today()-14))<=$(=Today())"}>} Vendas)


Uma dica, quando você estiver editando sua Measure, repare no rodapé da janela de edição da Measure, você vai ver como o Set Analysis está interpretando suas formulas. Veja a imagem abaixo:

mark_costa_0-1707234599163.png

 

Read more at Data Voyagers - datavoyagers.net
Filipe
Creator
Creator
Author

Bom dia @marksouzacosta eu consegui realizar com um "if", e usando a data, se a data for maior do que 14 dias atrás mostrar se for menor não fazer nada.

Usei =if([DATA ABERTURA ATENDIMENTO] > Date(Today()-14), [DIA ATENDIMENTO])

Provável que sua solução desse certo, mas não tive destreza para usa-la.
Mas agradeço muito a ajuda, e peguei algumas referencias na sua formula para usar na minha.

 

Chanty4u
MVP
MVP

Try this

 

Create a variable and give 14 to that and use below expression 

Sum({< [Data Abertura] = {"$(=Max([Data Abertura]) - $(vLastXDays) + 1)"} >} Measure)