2 Replies Latest reply on Aug 2, 2017 9:01 AM by Nilton Kazuyuki Ueda

    Trabalhar com datas

    alexandre.kumagai

      Pessoal, bom dia.

       

      Preciso de um help...

       

      Eu preciso fazer uma previsão a partir de uma data, porém, tenho que considerar os dias úteis.

       

      Isso é possível?

       

      Exemplo:

      -Data venda = 26/07/2017

      -Dias úteis = 10

      -Data prevista = 09/08/2017

       

      Desde já agradeço.

       

       

      Abraço,

      Alexandre

        • 1. Re: Trabalhar com datas
          Thiago Cunha

          Salve Alexandre....

           

          Cheguei... antes tarde do que nunca...... (Estive ocupado e só agora de manhã pude parar para brincar com isto.

           

          Então, trabalhar com dias úteis é bastante complicado porque não se tem até o momento  uma função que auxilie nesse sentido, sendo assim, cada um cria seu cálculo para atingir seus resultados. O cálculo a seguir foi desenvolvido por mim e parece estar funcionando corretamente:

           

           

          DATEADD('day'

                  ,[Adicao dias]

                  +(FLOOR([Adicao dias]/5)*2)

                  +(IIF((DATEPART('weekday',DATEADD('day',[Adicao dias]+(FLOOR([Adicao dias]/5)*2),DATEADD('weekday',-(DATEPART('weekday',[Data],'sunday')-2),[Data])),'sunday')+(DATEPART('weekday',[Data],'sunday')-2))>=7,2,0))

                  +(DATEPART('weekday',[Data],'sunday')-2)

                  -IIF(DATEPART('weekday',[Data],'sunday')=7,1,0)

                  ,DATEADD('weekday',-(DATEPART('weekday',[Data],'sunday')-2),[Data])

          )

           

          Detalhes sobre o Cálculo:

          1. São utilizadas duas informações de entrada: A data inicial (Data) e o Número de dias úteis (Adicao dias) que se queira adicionar
          2. O campo  Data tem que ser um campo de data válido.
          3. O número de dias que se deseja acrescentar pode ser um parâmetro ou um valor de outro campo, que aqui no meu cálculo é um valor numérico.
          4. Se a data inicial começa em um Sábado ou Domingo, no meu cálculo equivale uma data iniciando na sexta, pois a primeira segunda já contará como o primeiro dia útil.
            1. A exemplo: Se eu tenho uma ordem que caia em uma sexta, sábado ou domingo e acrescento dois dias úteis, o meu resultado será uma data na terça
          5. Basta substituir os campos "Data" e "Adicao dias" e ser feliz.

           

           

          ps.: Segue também um exemplo de teste com este cálculo funcionando

          https://public.tableau.com/views/TableauDateAdd-Diasuteis3_0/DateAddparaDiasUteis?:embed=y&:display_count=yes&publish=ye…

           

           

          1 of 1 people found this helpful
          • 2. Re: Trabalhar com datas
            Nilton Kazuyuki Ueda

            Alexandre, tudo bem?

            No seu modelo de dados, você tem uma dimensão de data onde informe em uma coluna se trata-se de dia útil ou não?

            Isso pode ser um caminho para a resolução do problema, embora o Arquanjo já deu uma boa dica de como matar o problema.