Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Verificar um período dentro do outro

Olá Pessoal!

  Preciso verificar se um determinado período  01/02/2012 a 03/03/2012   está dentro  01/01/2012 a 01/01/2013, se estiver descarto o período 01/02/2012 a 03/03/2012  de uma soma ...
  Ex.

Grupo   Período                                  Valor

  01      01/02/2012 a 03/03/2012       200

  01       01/01/2012 a 01/01/2013       500

  01       01/01/2014 a 01/02/2014       300

    Como o primeiro período  em "vermelho" está dentro do intervalo de 01/01/2012 a 01/01/2013 , devo desconsiderar ele e somente somar  (500 + 300) = 800 .... 

  Alguém tem alguma uma dica ?

4 Replies
EduardoAlexandredeFrancisco

Paulo,

Partindo do principio que o range de data seja um filtro (**Chamaremos esse filtro de Range_Data**)

//Declarar variavel

vMenorPeriodo = date(min(Range_Data))

vMaiorPeriodo = date(max(Range_Data))

SUM({<[Data Ocorrência Estoque] = {'>=$(vMenorPeriodo)<=$(vMaiorPeriodo)'}
>}Valor



)

Not applicable
Author

Eduardo,

  A questão é mais complicada, pois infelizmente eu não posso aplicar um filtro e devo avaliar cada alinha do Grupo :

Grupo Período                                  Valor

  01      01/02/2012 a 03/03/2012      200

  01      01/01/2012 a 01/01/2013      500

  01      01/01/2014 a 01/02/2014      300

  02      01/02/2012 a 03/03/2012      200

  02      01/01/2013 a 15/01/2013      500

  02      01/01/2013 a 01/02/2013      300

  Agora com o grupo 02 eu devo desconsiderar o período 01/01/2013 a 15/01/2013 , pois está dentro do intervalo  01/01/2013 a 01/02/2013    ,devido a  isto,   preciso somar para o grupo 2  ( 200 + 300) ...

  Com certeza com o filtro ficaria mais fácil, mas não posso usar filtros o calculo tem que ser dinâmico via LOAD , com For ou While + variáveis de armazenamento para comparar qual período está dentro de qual para ser descartado da soma por grupo.

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Paulo,

Da uma olhada na ajuda do QlikView (F1) nos comandos sobre Funções de Data e Hora, serão úteis para você as que começam com IN, ou seja, InMonth, InYear, InYearToDate...


Qualquer dúvida, posta um QVW de exemplo que a galera ajuda com o resultado.


Grande abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Aderlan,

  Segue um *.qvw e uma planilha excel de exemplo, conforme comentei hoje preciso somar o campo "Trabalhado" excluindo períodos que tem intersecção conforme ocorre no código 141034 do arquivo anexo. Ex:
  na coluna Codigo =141034  tenho

Dt_Inical              Dt_Final             Trabalhado

  21/03/20213      12/04/2013            0,766666

22/03/2013        11/04/2013            0,166666       ---> Precisa ser excluido da soma da Coluna Trabalhado

  ...............             ........                  .........

   Em resumo, preciso excluir os períodos que esteja dentro de outro ....