Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
lucascerq
Contributor II
Contributor II

Verificar se uma data está entre um intervalo

Prezados,

Preciso verificar se a data de conclusão do item CONCLUSÃO_TMP  de uma matrícula da base "Certificação" está entre a data

INI(CONCLUSÃO_TMP >= INI)

e FEC(CONCLUSÃO_TMP <= FEC) da base "IniFec".


Ex: CONCLUSÃO_TMP  da matrícula 123 corresponde a data 21/01/2018

Existe algum intervalo INI-FEC que cobre a data 21/01/2018 para aquela matrícula?



IniFec:

LOAD NU_MATL_MQNT as MATRÍCULA,

     DT_INIC_ATVD_RLZD_MQNT,

     DT_INCS_ATVD_RLZD_MQNT,

     DT_TRMN_ATVD_RLZD_MQNT,

     DT_ALTR_ATVD_RLZD_MQNT,

     DT_ATVD_ESCL_PGMD_MQNT,

     NU_MATL_RH_ANTC,

     CD_LOCAL_FRVR_INIC,

     CD_LOCAL_FRVR_FIM,

     CD_TIPO_ATVD_RLZD_MQNT,

     DU_PGMD_ATVD_DCSO,

     INI,

     FEC

Certificação:

LOAD [USUÁRIO ATIVO],

     MATRÍCULA,

     NOME,

     SOBRENOME,

     [DESCRIÇÃO DO CARGO],

     [DESC. DA ORGANIZAÇÃO],

     [TIPO DE CURSO],

     [CÓDIGO DE CURSO],

     [TÍTULO DO CURSO],

     NOTA,

     [COD STATUS DE CONCLUSÃO],

     [STATUS DE CONCLUSÃO],

     CONCLUSÃO_TMP

4 Replies
Thiago_Justen_

Lucas,

Veja se com esses posts que fiz em outra thread você consegue resolver:

Re: Finding a date range within a script

Re: "Aging List" sem If

Em resumo, você precisa do IntervalMatcha aí.

Aqui está como fazer passo a passo: IntervalMatch

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
lucascerq
Contributor II
Contributor II
Author

Thiago,

O problema quando faço o intervalmatch da seguinte forma é que ele não me apresenta os que não foram encontrados um intervalo.

Essa verificação tem o objetivo de identificar se para a data selecionada existe um intervalo INI - FEC (campos da base), caso não possua informar.

algo que tentei através do :

NoConcatenate 

 

IniFec: 

Load 

     *, 

     If(CONCLUSÃO_TMP>=INI and CONCLUSÃO_TMP<=FEC,'Ok','Não Ok') As 'Situação' 

Resident IniFec; 

 

Drop Table IniFec;  

Porém como tenho várias INI e FEC para mesma matrícula a base fica poluída.

É Possível criar algo que vincule a data da conclusão com o intervalo INI-FEC correspondente? e caso não possua ele me retorne como "Não Ok"?

verificação.PNG

IntervalMatch(CONCLUSÃO_TMP)

LOAD

  MATRÍCULA,

  INI,

  FEC

  Resident IniFec;

lucascerq
Contributor II
Contributor II
Author

O problema quando faço o intervalmatch da seguinte forma é que ele não me apresenta os que não foram encontrados um intervalo.

Essa verificação tem o objetivo de identificar se para a data selecionada existe um intervalo INI - FEC (campos da base), caso não possua informar.

algo que tentei através do :

NoConcatenate

IniFec:

Load

     *,

     If(CONCLUSÃO_TMP>=INI and CONCLUSÃO_TMP<=FEC,'Ok','Não Ok') As 'Situação'

Resident IniFec;

Drop Table IniFec; 

Porém como tenho várias INI e FEC para mesma matrícula a base fica poluída.

É Possível criar algo que vincule a data da conclusão com o intervalo INI-FEC correspondente? e caso não possua ele me retorne como "Não Ok"?

verificação.PNG

IntervalMatch(CONCLUSÃO_TMP)

LOAD

  MATRÍCULA,

  INI,

  FEC

  Resident IniFec;

lucascerq
Contributor II
Contributor II
Author

Infelizmente não consegui resolver o problema