4 Replies Latest reply: Jul 9, 2013 9:12 PM by Felipe Dutra RSS

    Uma variável para duas datas

      Boa tarde, alguém consegue me ajudar?

       

       

      Preciso colocar uma variável na fórmula abaixo para que eu possa obter os resultados automaticamente sem ter que criar várias expressões.

      Tenho que ter a posição no final do mês dos valores em aberto e gostaria de substituir a data "31/01/13" por uma variável de data auxiliar.

      (Atualmente tenho que ficar fazendo uma expressão para cada mês)

       

      sum(if(date(DtEmissao,'DD/MM/YYYY')<= date('31/01/13','DD/MM/YYYY')

         and(date(DtRecbto,  'DD/MM/YYYY')>  date('31/01/13','DD/MM/YYYY')

        or isnull(DtRecbto)  or trim (DtRecbto)=''),  Valor ))

       

      Abraço,

      Rlb

        • Re: Uma variável para duas datas
          Raphael Pacheco

          Boa tarde.

          Você quer uma variável que te traga o último dia do mês? É isso?

          • Re: Uma variável para duas datas

            let ultimoDiaDoMes = monthend(today());

             

            MonthEnd( data [, turno = 0] )

            Retorna um valor correspondente à data/hora com o último milissegundo

            da última data do mês que contém a data. O formato de saída

            padrão será a configuração de DateFormat no script. Deslocamento

            é um inteiro, em que o valor 0 indica o mês que contém a data. Os

            valores negativos no deslocamento indicam meses precedentes e os

            valores positivos indicam meses subseqüentes.

            Exemplos:

            monthend ( '2001-02-19' ) retorna '2001-02-28' com um valor

            numérico subjacente correspondente a '2001-02-28 23:59:59.999'

            monthend ( '2001-02-19', -1 ) retorna '2001-01-31' com um valor

             

             

            sum(if(date(DtEmissao,'DD/MM/YYYY')<= $(ultimoDiaDoMes);

            • Re: Uma variável para duas datas
              Felipe Dutra

              Olá!

               

              Pelo fórmula que você postou, creio que você precise disto:

               

              Sum({<DtEmissao={"<=$(=MonthEnd(Max(DATA)))"}, DtRecbto={*}-{"<=$(=MonthEnd(Max(DATA)))"}>}Valor)

               

              Alterar "DATA" pelo campo de data relacionado ao "Mês/Ano" que você selecionará.

               

              A fórmula considera as "DtEmissao" <= ao último dia do "Mês/Ano" selecionado

              e

              desconsidera as "DtRecbto" <= ao último dia do "Mês/Ano" selecionado.

               

              Abs,

              Felipe