none
Rangos de 15 Min RRS feed

  • Pregunta

  • Hola a todos,

    Me pueden ayudar por favor a crear rangos de 15 min de acuerdo a estos parámetros Hora Inicio y Hora Fin.

    
    Fecha_inicio Hora_inicio Fecha_fin Hora_Fin
    1/03/2019 8:53:02 a. m. 1/03/2019 9:08:33 a. m.
    1/03/2019 8:41:04 a. m. 1/03/2019 9:11:19 a. m.
    1/03/2019 8:33:48 a. m. 1/03/2019 9:12:43 a. m.
    1/03/2019 8:25:24 a. m. 1/03/2019 9:16:13 a. m.
    1/03/2019 8:17:18 a. m. 1/03/2019 9:23:30 a. m.
    1/03/2019 8:24:05 a. m. 1/03/2019 9:24:14 a. m.
    1/03/2019 8:19:07 a. m. 1/03/2019 9:34:58 a. m.
    1/03/2019 8:30:12 a. m. 1/03/2019 9:35:51 a. m.
    1/03/2019 8:20:39 a. m. 1/03/2019 8:33:39 a. m.
    1/03/2019 8:34:55 a. m. 1/03/2019 8:54:58 a. m.
    1/03/2019 8:41:30 a. m. 1/03/2019 9:00:24 a. m.
    1/03/2019 8:02:20 a. m. 1/03/2019 8:30:21 a. m.
    1/03/2019 8:09:06 a. m. 1/03/2019 8:37:15 a. m.
    1/03/2019 8:31:34 a. m. 1/03/2019 8:41:39 a. m.
    1/03/2019 8:37:34 a. m. 1/03/2019 8:44:35 a. m.
    1/03/2019 8:35:43 a. m. 1/03/2019 8:44:42 a. m.
    1/03/2019 8:30:01 a. m. 1/03/2019 8:44:54 a. m.
    1/03/2019 8:31:38 a. m. 1/03/2019 9:38:44 a. m.
    1/03/2019 9:19:58 a. m. 1/03/2019 9:38:43 a. m.
    1/03/2019 8:33:00 a. m. 1/03/2019 9:43:05 a. m.
    1/03/2019 8:34:15 a. m. 1/03/2019 9:44:28 a. m.
    1/03/2019 8:41:24 a. m. 1/03/2019 9:51:00 a. m.
    1/03/2019 8:39:09 a. m. 1/03/2019 9:54:30 a. m.
    1/03/2019 8:04:19 a. m. 1/03/2019 8:16:54 a. m.
    1/03/2019 8:05:31 a. m. 1/03/2019 8:17:59 a. m.
    1/03/2019 2:27:17 p. m. 1/03/2019 2:42:46 p. m.
    1/03/2019 2:27:09 p. m. 1/03/2019 2:45:18 p. m.
    1/03/2019 2:00:31 p. m. 1/03/2019 3:06:59 p. m.
    1/03/2019 1:47:55 p. m. 1/03/2019 2:09:45 p. m.
    1/03/2019 11:27:54 a. m. 1/03/2019 2:36:30 p. m.
    1/03/2019 2:46:59 p. m. 1/03/2019 2:51:36 p. m.
    1/03/2019 1:50:16 p. m. 1/03/2019 2:24:48 p. m.
    1/03/2019 1:12:55 p. m. 1/03/2019 2:32:45 p. m.
    1/03/2019 11:44:45 a. m. 1/03/2019 2:09:32 p. m.
    1/03/2019 2:11:37 p. m. 1/03/2019 2:56:49 p. m.
    1/03/2019 2:59:47 p. m. 1/03/2019 3:05:32 p. m.

    Seria en este orden:

    06:00

    06:15

    06:45

    .

    .

    .

    lunes, 4 de marzo de 2019 21:32

Todas las respuestas

  • Deleted
    • Propuesto como respuesta Pedro Alfaro martes, 5 de marzo de 2019 15:33
    martes, 5 de marzo de 2019 0:32
  • Hola José,

    En Access utilizo esta sentencia para validar en cual rango pertenece (08:00, 08:15, 08:45, 09:00...) 

    Hora: Format((1/24)*Hora([Hora_inicio])+SiInm(Minuto([Hora_inicio])>=(45);(3/96);SiInm(Minuto([Hora_inicio])>=(30);(2/96);SiInm(Minuto([Hora_inicio])>=(15);(1/96);(0))));"Hora corta")

    Por ejemplo en la primera línea sería en el rango de las 08:45 de acuerdo a la hora de inicio. Los registros están desde las 00:00:00 hasta las 23:59:59 por diferentes grupos (Grupo 1, Grupo 2, Grupo n)

    1/03/2019 8:53:02 a. m. 1/03/2019 9:08:33 a. m.

    Finalmente se hace un conteo de cuantos registros están en cada rango, algo así:

    Grupo Fecha Hora Total
    Grupo 1 03/01/2019 08:00 4
    Grupo 1 03/01/2019 08:15 6
    Grupo 1 03/01/2019 08:30 18
    Grupo 1 03/01/2019 08:45 6
    Grupo 1 03/01/2019 09:00 11
    Grupo 1 03/01/2019 09:15 4
    Grupo 1 03/01/2019 09:30 6
    Grupo 1 03/01/2019 09:45 10
    Grupo 1 03/01/2019 10:00 10
    Grupo 1 03/01/2019 10:15 10
    Grupo 1 03/01/2019 10:30 9
    Grupo 1 03/01/2019 10:45 11
    Grupo 2 03/01/2019 00:00 10
    Grupo 2 03/01/2019 01:00 7
    Grupo 2 03/01/2019 03:00 3
    Grupo 2 03/01/2019 00:15 10
    Grupo 2 03/01/2019 00:30 9
    Grupo 2 03/01/2019 00:45 3
    Grupo 2 03/01/2019 01:15 1
    Grupo 2 03/01/2019 01:30 2
    Grupo 2 03/01/2019 01:45 7
    Grupo n 03/01/2019 18:00 74
    Grupo n 03/01/2019 18:15 83
    Grupo n 03/01/2019 18:30 66
    Grupo n 03/01/2019 18:45 70
    Grupo n 03/01/2019 19:00 78
    Grupo n 03/01/2019 19:15 71
    Grupo n 03/01/2019 19:30 76
    Grupo n 03/01/2019 19:45 74
    Grupo n 03/01/2019 20:00 70


    Muchas gracias,

    • Propuesto como respuesta Pedro Alfaro martes, 5 de marzo de 2019 15:34
    martes, 5 de marzo de 2019 12:51
  • Si lo deseas hacer en T-SQL entonces puedes dividir por 15 la diferencia en minutos entre la hora de inicio y las 00:00:0, luego multiplicas el resultado por 15 y lo adicionas como minutos a las 00:00:00.

    select
        col1,
        dateadd(minute,
            (datediff(minute, cast('00:00:00' as time(0)), col1) / 15) * 15, cast('00:00:00' as time(0))
        ) as col2
    from
        (values(cast('08:53:02' as time(0)))) as T(col1);


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas


    • Propuesto como respuesta Pedro Alfaro martes, 5 de marzo de 2019 15:34
    • Editado HunchbackMVP miércoles, 6 de marzo de 2019 13:30
    martes, 5 de marzo de 2019 14:01
  • Deleted
    • Propuesto como respuesta Pedro Alfaro martes, 5 de marzo de 2019 15:34
    martes, 5 de marzo de 2019 14:03
  • Muchas gracias José y Pedro por la ayuda, ambos funcionaron.

    Andres Mira

    martes, 5 de marzo de 2019 18:13
  • Hola Pedro,

    Realice la siguiente sentencia: dateadd(minute, (datediff(minute, cast('00:00:00' as time(0)), [Hora_inicio]) / 15) * 15, cast('00:00:00' as time(0))) AS Hora

    Cómo hago para ponerlo en formato hh:mm (08:00) ya que viene 08:00:00.

    Muchas gracias,


    Andres Mira

    martes, 5 de marzo de 2019 18:15
  • Deleted
    martes, 5 de marzo de 2019 18:29
  • Usa la función CONVERT con estilo 108. CONVERT(char(5), ..., 108) as hh_mm Pon la expresión donde estan los tres puntos.

    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    martes, 5 de marzo de 2019 18:29
  • Gracias José,

    Validando el resultado es el siguiente:

    Grupo Fecha Hora Total
    Grupo 1 1/01/2019 11:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:15 2
    Grupo 1 1/02/2019 8:30 2
    Grupo 1 1/02/2019 8:45 2
    Grupo 1 1/02/2019 8:45 2
    Grupo 1 1/02/2019 9:00 2
    Grupo 1 1/02/2019 9:00 2
    Grupo 1 1/02/2019 9:00 2
    Grupo 1 1/02/2019 9:15 2
    Grupo 1 1/02/2019 9:15 2
    Grupo 1 1/02/2019 9:15 2
    Grupo 1 1/02/2019 9:30 2
    Grupo 1 1/02/2019 9:30 2
    Grupo 1 1/02/2019 9:30 2
    Grupo 1 1/02/2019 9:30 2
    Grupo 1 1/02/2019 9:30 2
    Grupo 1 1/02/2019 9:45 2
    Grupo 1 1/02/2019 9:45 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:00 2
    Grupo n 1/01/2019 0:15 2
    Grupo n 1/01/2019 0:15 2
    Grupo n 1/01/2019 0:15 2
    Grupo n 1/01/2019 0:15 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:30 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo n 1/01/2019 0:45 2
    Grupo 2 1/01/2019 0:00 2
    Grupo 2 1/01/2019 0:15 2
    Grupo 2 1/01/2019 0:30 2
    Grupo 2 1/01/2019 0:30 2
    Grupo 2 1/01/2019 0:45 2
    Grupo 2 1/01/2019 1:00 2
    Grupo 2 1/01/2019 1:15 2
    Grupo 2 1/01/2019 1:15 2
    Grupo 2 1/01/2019 1:15 2
    Grupo 2 1/01/2019 1:30 2
    Grupo 2 1/01/2019 1:45 2
    Grupo 2 1/01/2019 2:15 2
    Grupo 2 1/01/2019 2:15 2
    Grupo 2 1/01/2019 2:30 2
    Grupo 2 1/01/2019 2:45 2
    Grupo 2 1/01/2019 2:45 2
    Grupo 2 1/01/2019 3:00 2
    Grupo 2 1/01/2019 3:15 2
    Grupo 2 1/01/2019 3:15 2
    Grupo 2 1/01/2019 3:15 2
    Grupo 2 1/01/2019 4:30 2


    el count(*) totaliza todo en 2, debería contar de acuerdo a los registros que hay en Hora por ejemplo a las 08:15 hay 6 registros el Total debería mostrar 6


    Andres Mira

    martes, 5 de marzo de 2019 18:59
  • Postea la sentencia que estás usando. El resultado que presentas no está agrupado por Grupo, Fecha y Hora.

    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas

    martes, 5 de marzo de 2019 19:30
  • Deleted
    martes, 5 de marzo de 2019 20:23
  • Debido a que no hemos recibido alguna notificación que aún se esté presentando el problema que enuncia en vuestra consulta y que la respuesta provista provee un amplio panorama y campo de acción sobre tu duda; nos gustaría considerar la misma como resuelta debido a la respuesta apropiada proporcionada  y así proceder a calificar la misma como respuesta.

    No dudes en ampliar más sobre este tema si es que aún lo requirieras o de abrir una nueva consulta en caso de tener alguna situación o necesitarla con algún otro de los productos de Microsoft.

     

    Adicional le invito a consultar los siguientes recursos:

    Guía para formular preguntas en el foro

    Channel 9 - Consejos para desarrollar y administrar SQL Server

     

    Gracias por usar los foros de MSDN.

    Erick Rivera

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    jueves, 23 de mayo de 2019 16:38