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

Datas Especificas!!

Saudações Pessoal!!

Aqui na empresa onde trabalho, a verificação de hora extras vai do dia 20 de um mês até o dia 19 do mês seguinte. Por exemplo: as horas extras iniciada no dia 20/05/2018 irá terminar no dia 19/06/2018. Porém ao selecionar o mês no Qlik ele seleciona todos os dias do mês e não esse determinado periodo. Existe uma maneira de conseguir selecionar este determinado periodo de tempo?

Desde já agradeço!!

At.

1 Solution

Accepted Solutions
Anonymous
Not applicable

Bom dia Rodrigo,

Basta fazer um pequeno ajuste no scrip:

Load

  Pedido_ID

, datacompleta

, if(day(data) >= 19, month(data+20), month(data)) as mes_ref;

, dia

, Pedido_Cliente_ID;

[vendas]:

select p.Pedido_ID

, cast(p.Pedido_InclusaoData as date) datacompleta

, datepart(DD, cast(p.Pedido_InclusaoData as date)) dia

, p.Pedido_Cliente_ID

  from bi.Pedido p

where year(p.Pedido_InclusaoData) = 2018

   and month(p.Pedido_InclusaoData) = 5

Acredito que já deva ser o suficiente.

View solution in original post

10 Replies
Anonymous
Not applicable

Bom dia Rodrigo,

Vc poderia adcionar uma coluna em sua tabela que possua a data ou o mês de referencia para cálculo, e utilizar esta coluna no seu filtro.

Desta forma vc teria o período correto sendo exibido no seu app.

pedrolyra
Contributor III
Contributor III

Bom dia meu caro,

tenta algo assim:

=sum({<data={"<=$(=MakeDate(year(max(data)),month(max(data)),20))>=$(=MakeDate(year(max(data)),(month(max(data))-1),20))"}>} valor)

att

rodrigo_rocha
Creator
Creator
Author

Olá Anderson!

Não entendi muito bem. Desta maneira não teria que mudar o script todo mês?

At.

rodrigo_rocha
Creator
Creator
Author

Olá Pedro!!

Essa formula eu colocaria direto no script?

At.

pedrolyra
Contributor III
Contributor III

ajustei a formula para so ir até o dia 19 do mês corrente


=sum({<data={"<=$(=MakeDate(year(max(data)),month(max(data)),19))>=$(=MakeDate(year(max(data)),(month(max(data))-1),20))"}>} valor)


Coloca como formula na aplicação.

Em tese quando você selecionar o mês ele só vai calcular do dia 20 do mês passado ate o dia 19 do mês corrente.

Anonymous
Not applicable

não haveria necessidade de mudar o script, pois o período é padrão:

Load

  Pedido_ID

, datacompleta

, month(datacompleta-20) as mes_referencia

, dia

, Pedido_Cliente_ID;

[vendas]:

select p.Pedido_ID

, cast(p.Pedido_InclusaoData as date) datacompleta

, datepart(DD, cast(p.Pedido_InclusaoData as date)) dia

, p.Pedido_Cliente_ID

  from bi.Pedido p

where year(p.Pedido_InclusaoData) = 2018

   and month(p.Pedido_InclusaoData) = 5

Capturar.PNG

rodrigo_rocha
Creator
Creator
Author

Ele funcionou apenas com o mês corrente... eu preciso que ele consiga selecionar dados anteriores também...

rodrigo_rocha
Creator
Creator
Author

Anderson...

Funcionou... porém tem um pequeno problema. Quando eu seleciono o mês de Maio ele pega os meses de Maio e Junho, porém o correto é pegar os meses Abril e Maio ou seja, do dia 20/04 ao dia 19/05.

Teria como funcionar desta maneira?

Anonymous
Not applicable

Bom dia Rodrigo,

Basta fazer um pequeno ajuste no scrip:

Load

  Pedido_ID

, datacompleta

, if(day(data) >= 19, month(data+20), month(data)) as mes_ref;

, dia

, Pedido_Cliente_ID;

[vendas]:

select p.Pedido_ID

, cast(p.Pedido_InclusaoData as date) datacompleta

, datepart(DD, cast(p.Pedido_InclusaoData as date)) dia

, p.Pedido_Cliente_ID

  from bi.Pedido p

where year(p.Pedido_InclusaoData) = 2018

   and month(p.Pedido_InclusaoData) = 5

Acredito que já deva ser o suficiente.