3 Replies Latest reply: Sep 22, 2015 2:05 PM by Roberto Gomes RSS

    Identificar a qual semana do mês determinada data pertence.

      Bom dia.

       

      Não estou conseguindo desenvolver uma forma de identificar a qual semana do mês, determinada data pertence. Por exemplo:

      A data 04/08/2015 pertence a 1ª semana do mês de agosto;

      A data 11/08/2015 pertence a 3ª semana do mês de agosto;

      A data 18/08/2015 pertence a 3ª semana do mês de agosto;

      A data 26/08/2015 pertence a 4ª semana do mês de agosto.

       

      Estou com uma demanda onde é necessário eu fazer uma comparação do total de horas realizada na semana. Este total de horas deve atingir a uma meta dentro da semana, se não atingir, ela é considerada como hora ociosa. Minha aplicação deve ser capaz de identificar esta hora ociosa.

       

      Alguém teria alguma sugestão para que eu possa atender a esta demanda?

       

      Obrigado.


      Abraços.

        • Re: Identificar a qual semana do mês determinada data pertence.
          Alessandro Furtado

          Bom dia Roberto.

           

          A semana do mes, sendo ela de 1 a 4 ou 5, dependendo do mes pode ser obtida com a linha no script abaixo

           

            1+ceil((Data-floor(weekend(monthstart(Data),0,-1)))/7) as Semana1,

            • Re: Identificar a qual semana do mês determinada data pertence.

              Obrigado Alessandro.

              Sua resposta me abriu a mente e me ajudou muito. Mas pensei em outra situação, se ao invés de eu pegar o mês cheio (01/08 a 31/08) eu tivesse que pegar o período entre 26/07 a 22/08 para identificar o mês de Agosto?

              Se eu pegar o mês cheio, ficarei impossibilitado de fazer a comparação com a meta semanal, sendo que o mês pode começar na metade de uma semana e terminar na segunda-feira de outra. Alterando o período de coleta de informações, eu poderia comparar mensalmente e ter o número exato de semanas.

               

              Como você faria para definir os números de semanas entre 26/07 a 22/08?

               

              Obrigado mais uma vez.

               

              Abraços.

            • Re: Identificar a qual semana do mês determinada data pertence.

              Boa tarde senhores.

               

              Consegui adequar minha demanda utilizando o seguinte comando no script:

               

              Week(WeekStart(DataOperacao,0,6))-Week(WeekStart('$(vDataInicial)',0,6))+1 as Semana

               

              onde $(vDataInicial) é a data inicial que utilizo para carga das informações do banco de dados. Desta forma, ele diminui o número da semana de acordo com a "DataOperacao" da data inicial, que será sempre a mesma.

              Ex.:

              Week(WeekStart(DataOperacao,0,6)) = 30

              Week(WeekStart('$(vDataInicial)',0,6)) = 30

              +1 = Incremento, pois a primeira semana começará no "0"


              1ª Semana

              Week(WeekStart(DataOperacao,0,6)) = 30

              Week(WeekStart('$(vDataInicial)',0,6)) = 30

              0+1 = 1 Semana


              2ª Semana

              Week(WeekStart(DataOperacao,0,6)) = 30

              Week(WeekStart('$(vDataInicial)',0,6)) = 30

              1+1 = 2 Semana


              3ª Semana

              Week(WeekStart(DataOperacao,0,6)) = 32

              Week(WeekStart('$(vDataInicial)',0,6)) = 30

              2+1 = 3 Semana

               

              4ª Semana

              Week(WeekStart(DataOperacao,0,6)) = 33

              Week(WeekStart('$(vDataInicial)',0,6)) = 30

              3+1 = 4 Semana

               

               

              Obrigado.


              Atenciosamente.

              Roberto Guilherme Gomes