[uylug-programming] Minutos trabajados por día... Ayuda con una query

Gustavo Azambuja hola at gazambuja.com
Mon Mar 25 08:23:20 PDT 2013


Si, entiendo. El tema es que no puedo cambiar la estructura que está...
pero me diste algo para pensar con lo de t0+5min... creo que por ahí lo
soluciono.
Gracias!


2013/3/25 Carlos M. Martinez <carlosmarcelomartinez at gmail.com>

>  El tema es que medir duración de algo es como que lógicamente
> incompatible con la hipótesis de que las acciones son instantáneas (es
> decir de duración 0, por lo cual la sumatoria siempre seria 0)
>
> Para calcular la cantidad de minutos ocupados en eso, se me ocurren
> algunas cosas:
>
> - asumir una duracion por tarea, es decir, si aprete enter en t0, la tarea
> duro hasta t0+5min
> - agregar una columna de 'fin' de la accion, tratando de medir cuando ese
> fin ocurre, creo que esto es lo mas razonable, ya que en realidad nada es
> instantáneo
> - asumir que la duracion de la tarea es entre enters sucesivos del mismo
> usuario, asumiendo que trabajan siempre, lo cual te deja abierta la
> duracion del ultimo 'enter' del dia
>
> - Y finalmente, pensar si en el caso de que realmente las acciones sean
> logicamente instantaneas, si la metrica 'minutos trabajados' tiene sentido,
> si no hace falta una metrica que sea 'cantidad de enters por unidad de
> tiempo', o algo parecido.
>
> Creo que como dice Chicken, falta algo en el modelado de tu realidad.
>
> s2
>
> ~C.
>
>
> On 3/25/13 11:45 AM, Gustavo Azambuja wrote:
>
> Carlos, gracias por responder... es que no son "tareas" mas bien son
> "acciones"...
> Imaginen que tienen una tabla donde los funcionarios que tienen cada ENTER
> que apreto un usuario/funcionario, y en la columna date, lo que aparece es
> la hora en que apreto ENTER...
>
>
>  id, user, action, date1, user1, a1, 2013-03-20 10:00:012, user2, a1, 2013-03-20 10:00:033, user2, a1, 2013-03-20 10:00:124, user3, a1, 2013-03-20 10:00:205, user2, a1, 2013-03-20 10:00:24
> ...10, user3, a1, 2013-03-20 10:02:35
> ...16, user3, a1, 2013-03-20 10:04:01
>
>
>  El usuario user1: apreto solo una vez ENTER: 10h 00m 01s; el user2,
> :03s, :12s, y :24s
> Ahora, por ejemplo el user3, esta "apretando ENTER" cada algunos cuantos
> segundos, y luego del id=16 no aparece mas... podría decir entonces que el
> user3 trabajó desde 10:00 hasta las 10:04 (4 minutos trabajados)
>
>  el tema es como consigo llegar a esa conclusion usando PHP y MySQL...
>
>  Como dije antes, asumo que el usuario ya no está trabajando si pasan mas
> de 5 minutos sin "acciones" realizadas.
>
>
>
>
>
>
>
> 2013/3/25 Carlos M. Martinez <carlosmarcelomartinez at gmail.com>
>
>>  Pero como definis la 'duracion' de cada tarea ? el intervalo entre dos
>> entradas ?
>>
>> On 3/25/13 10:50 AM, Gustavo Azambuja wrote:
>>
>> No, la tarea es "instantanea"... digamos, para entender, que cada
>> registro es una pulsación de ENTER en el teclado del usuario... sabiendo
>> eso, y que jamas pasan 5 minutos sin dar ENTER a menos que no estén
>> trabajando... como consigo saber los "minutos trabajados por operador" (o
>> la suma de todos los operadores)?
>>
>>
>>
>>
>> 2013/3/25 Chicken Urine <chickenurine at gmail.com>
>>
>>>  Ok, entonces el date ese es la hora de inicio de la tarea, por lo que
>>> supongo que la duración de una tarea es el tiempo entre 2 registros?
>>>
>>>
>>>  .:-:ChiCkENURiNE:-:.
>>> + El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.
>>>
>>>
>>>   2013/3/25 Gustavo Azambuja <hola at gazambuja.com>
>>>
>>>> La columna date tiene el datetime del evento (q ejecutó una acción)
>>>>
>>>> En definitiva tengo una lista de eventos de diferentes usuarios y
>>>> necesito calcular los "minutos trabajados totales)
>>>>
>>>> Para el cálculo asumo que si el usuario no ejecuta eventos en 5 minutos
>>>> no está trabajando.
>>>>
>>>> Uso MySQL, y podría completar el cálculo con php.
>>>> El mar 25, 2013 8:20 a.m., "Chicken Urine" <chickenurine at gmail.com>
>>>> escribió:
>>>>
>>>>  Gustavo, no me queda muy claro el ejemplo. La columna date guarda un
>>>>> resultado de HH:MM:ss que llevó un tarea particular? O es la hora de
>>>>> comienzo/fin?
>>>>> Que rdbms estás utilizando? Ya que hay funciones específicas en cada
>>>>> motor para el manejo de tipo de datos date.
>>>>>
>>>>>
>>>>>  .:-:ChiCkENURiNE:-:.
>>>>> + El SPAM <http://groups.google.com/group/spam-a-lot/> tiene su lugar.
>>>>>
>>>>>
>>>>> 2013/3/24 Gustavo Azambuja <hola at gazambuja.com>
>>>>>
>>>>>>  Alguien me puede ayudar con esta query?
>>>>>>
>>>>>>  básicamente, necesito conseguir en base a una tabla que tiene
>>>>>> acciones realizadas por mis usuarios (funcionarios) durante cada minuto.
>>>>>> Ahora, necesito en base a esa tabla saber los "minutos trabajados"
>>>>>>
>>>>>>
>>>>>> http://stackoverflow.com/questions/15606675/minutes-work-by-users-how-to-make-this-query
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> id, user, action, date1, user1, a1, 2013-03-20 10:00:012, user2, a1, 2013-03-20 10:00:033, user2, a1, 2013-03-20 10:00:124, user3, a1, 2013-03-20 10:00:205, user2, a1, 2013-03-20 10:00:24.......
>>>>>>
>>>>>>  Por ejemplo:
>>>>>>
>>>>>>    1. Si tengo solo un funcionario trabajando las 24h, tendré:
>>>>>>    24h*60m = 1440 minutos trabajados en el día.
>>>>>>    2. Si tengo 2 funcionarios durante todo el día (24h) tendré: 2880
>>>>>>    minutos trabajados hoy...
>>>>>>    3. Si tengo los mismos dos funcionarios, pero trabajando 12h cada
>>>>>>    uno, vuelvo a tener los 1440 m/día.
>>>>>>
>>>>>> Alguna idea de como podría armar una query que me de ésto? o como
>>>>>> mucho con algo de PHP ademas de la query.
>>>>>>
>>>>>>  Gracias!
>>>>>>
>>>>>>
>>>>>>  --
>>>>>> Gustavo Azambuja
>>>>>> http://gazambuja.com
>>>>>>
>>>>>> Uruguay:     *091 300 333* (Montevideo - Mobile)
>>>>>>
>>>>>> _______________________________________________
>>>>>> Uylug-programming mailing list
>>>>>> Uylug-programming at listas.uylug.org.uy
>>>>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Uylug-programming mailing list
>>>>> Uylug-programming at listas.uylug.org.uy
>>>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Uylug-programming mailing list
>>>> Uylug-programming at listas.uylug.org.uy
>>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Uylug-programming mailing list
>>> Uylug-programming at listas.uylug.org.uy
>>> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>>
>>>
>>
>>
>>  --
>> Gustavo Azambuja
>> http://gazambuja.com
>>
>> Uruguay:     *091 300 333* (Montevideo - Mobile)
>>
>>
>> _______________________________________________
>> Uylug-programming mailing listUylug-programming at listas.uylug.org.uyhttp://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy
>>
>>
>>
>
>
>  --
> Gustavo Azambuja
> http://gazambuja.com
>
> Uruguay:     *091 300 333* (Montevideo - Mobile)
>
>
>


-- 
Gustavo Azambuja
http://gazambuja.com
 <http://gazambuja.com>
Uruguay:     *091 300 333* (Montevideo - Mobile)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.uylug.org.uy/pipermail/uylug-programming-uylug.org.uy/attachments/20130325/4231fd54/attachment-0002.htm>


More information about the Uylug-programming mailing list