Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
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.