Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Genero expedientes digitales, cada expediente tiene varias fases, cada fase tiene una fecha/hora de inicio y una fecha/hora de fin de fase. Necesito calcular 1.- la duración total de un expediente en DD hh:mm:ss, 2,- necesito hallar el promedio de tiempo de tos los expedientes. 3.- Hallar el promedio por fases de expediente del mismo tipo.
he utilizado las siguientes medidas:
interval(FECHA_FIN_ACTIV-FECHA_INI_ACTIV, 'ss') como dif_en_seg
Div(NUM#(dif_en_seg),86400) como dif_en_dias
fmod(NUM#(dif_en_seg),86400) como dif_dias_resto
He intentado pero no me funciona
Floor(dif_en_seg / 86400) & 'd ' & Time(Mod(dif_en_seg, 86400), 'hh:mm:ss')
tampoco se como acumular el total del tiempo de todos los expedientes para luego hallar su promedio
algo parecido a esto Avg(Sum(Interval(FECHA_INI_ACTIV, FECHA_FIN_ACTIV))) over ()
Hi @hvantoni
Date() formats an expression as a date using the format set in the system variables in the load script, or the operating system, or a format string, if supplied.
Syntax:
Date(number[, format])
Example:
date(datefield,'DD/MM/YYYY')
or
date(date#(datefield,'current format'),'DD/MM/YYYY')
Or
Date#(Alt(Num(Date#(DATE, 'MM-DD-YYYY')), Num(Date#(DATE, 'MMM DD YYYY'))), 'DD/MM/YYYY') as DATE
It is an example, so you may modify or change accordingly.
Thanks, Padma
Hola, a la expresión le faltaría dividir el tiempo del mod para pasarlo a segundos:
Floor(dif_en_seg / 86400) & 'd ' & Time(Mod(dif_en_seg, 86400) / 86400, 'hh:mm:ss')
Y para el avg se podría usar Aggr:
Avg(Aggr(Sum(Interval(FECHA_INI_ACTIV, FECHA_FIN_ACTIV)),NUMERO_EXPEDIENTE)
Otra opción sería añadir una tabla en el script relacionada con los expedientes que ya tenga calculado el tiempo en segundos, con lo que un simple avg() de este campo podría servir.