4 Replies Latest reply: Sep 19, 2018 8:24 AM by Lucas Cerqueira RSS

    Verificar se uma data está entre um intervalo

    Lucas Cerqueira

      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

        • Re: Verificar se uma data está entre um intervalo
          Thiago Justen Teixeira

          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

          • Re: Verificar se uma data está entre um intervalo
            Lucas Cerqueira

            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;

            • Re: Verificar se uma data está entre um intervalo
              Lucas Cerqueira

              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;

              • Re: Verificar se uma data está entre um intervalo
                Lucas Cerqueira

                Infelizmente não consegui resolver o problema