Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas tardes.
Estimados, sigo trabajando en mi app de control de asistencia, con la siguiente información.
Cédula | Fecha | H_Entrada | H_Salida | Total de Horas |
15664062 | 2016-04-25 | 07:03:49 | 18:50:01 | 11:46:12 |
15664062 | 2016-04-26 | 13:29:05 | 17:56:43 | 04:27:38 |
15664062 | 2016-04-27 | 07:14:01 | 17:46:24 | 10:32:23 |
16429625 | 2016-04-26 | 07:10:51 | 17:35:31 | 10:24:40 |
16429625 | 2016-04-27 | 07:16:08 | 17:04:14 | 09:48:06 |
18096033 | 2016-04-25 | 06:04:20 | 16:50:55 | 10:46:35 |
18096033 | 2016-04-26 | 06:04:04 | 16:49:35 | 10:45:31 |
18096033 | 2016-04-27 | 05:53:17 | 15:35:21 | 09:42:04 |
El resultado del campo "Total de Horas" lo obtengo de la siguiente expresión Interval(H_Salida-H_Entrada), sin embargo el resultado es en formato "visual" de horas pero a nivel de datos es string: ¿Como hago para que ese resultado tenga el formato Time?
Lo necesito en formato Time ya que estoy creando un gráfico con una expresión de Cumplimiento de la siguiente manera:
Aggr(sum(If([Total de Horas] >='09:45' and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
También lo coloque de la siguiente forma:
Aggr(sum(If([Total de Horas] >=MakeTime(9,45) and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
Sin embargo no obtengo ningún resultado.
Agradezco de antemano su colaboración
Hola Luis,
En principio te tendría que funcionar tal y como tienes los datos y si quieres con la primera expresión:
Aggr(sum(If([Total de Horas] >='09:45' and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
Te subo un ejemplo:
Hola Luis:
TIME#(TuExpresion, 'HH:MM:SS')
Saludos
Joaquín
Hola Luis,
En principio te tendría que funcionar tal y como tienes los datos y si quieres con la primera expresión:
Aggr(sum(If([Total de Horas] >='09:45' and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
Te subo un ejemplo:
Buenos días
Hola joaquinlr, ya habia utilizado tu expresión y no me funcionó, pero igual muchas gracias
Hola Jordi, utilice la expresión que tienes en el archivo qvd que me enviaste y si funciona,
De esta forma funciona: Aggr(sum(If((H_Salida-H_Entrada)>='09:45' and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
Pero de esta forma no me funciona: Aggr(sum(If([Total de Horas] >='09:45' and H_Entrada<=MakeTime(8) and H_Salida>=MakeTime(17),1,0)),Mes)
Muchas gracias nuevamente.
Hola,
Si lo creeas en el script pon:
Timestamp(Timestamp(H_Salida,'hh:mm:ss')-Timestamp(H_Entrada,'hh:mm:ss'),'hh:mm:ss') as Total_de_Horas
Saludos,
Hola Luis:
Perfecto si lo has resuelto.
Por si tienes otro caso parecido o solo por curiosidad, prueba esto
MAKETIME(Hour(Time#(TuExpresion, 'HH:MM:SS')), Minute(Time#(TuExpresion, 'HH:MM:SS')), Second(Time#(TuExpresion, 'HH:MM:SS'))) as HHMMSS
Saludos
Joaquín
Ok, dentro del script de seguro funcionaría, lo intente hacer pero tengo una conexión OLDB a Sql Server y no interpreta ese comando.
Luis, no va en la SELECT sino en el load
LOAD ...
MakeTime() as TuHHMMSS
SQL SELECT ....
Si te interesa copia un trozo del load y te lo ajusto !!!!
Saludos
Joaquín
Hola joaquinlr, este es mi script