Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a tod@s,
Para el ejemplo adjunto, cuyas etiquetas son:
censo_emp | Fecha | ffin_emp | valor |
Donde 'censo_emp' es el número de empleado, 'Fecha' es la fecha de inicio del empleado, y 'ffin_emp' la fecha de terminación de contrato,necesito obtener el acumulado total de empleados activos en cada mes (FTE),
Solo como ejemplo, FTE sería la cuenta acumulada del campo 'censo_emp' cuando Fecha >= Fecha seleccionada y 'ffin_emp' sea <= Fecha selecionada.
Mes | feb | jun | jul | ago | nov |
FTE | 4 | 5 | 6 | 7 | 81 |
He estado intentando varias formulas de set análisis tomadas de otros ejemplos, pero solo consigo el total acumulado repetido en todos los meses o los movimientos en cada mes.
Gracias por la ayuda..
Juan Carlos.
Hola Juan,
creo que puedes hacerlo con un intervalmach :
haces un calendario asi (asi tienes todas las fechas entre 01/01/2011 y hoy):
Calendario :
load IterNo() + num('01/01/2011')-1 as CAL_FECHA ,
month(IterNo() + num('01/01/2011')-1) as CAL_MES,
Year(IterNo() + num('01/01/2011')-1)as CAL_ANOS,
day(IterNo() + num('01/01/2011')-1) as CAL_DIAS
AutoGenerate (1)
while
IterNo() + num('01/01/2011')-1 <= num(Today());
despues carga tu folder con tus empleados y fechas de inicio y de terminacion
Empleados:
load *
from Mitabla;
al fin, haces la union de ese 2 tablas asi :
CAL_Empleados:
NoConcatenate LOAD * Resident Calendario;
IntervalMatch (CAL_FECHA) load Fecha, ffin_emp Resident Empleados;
drop Table Calendario;
store CAL_Empleados into CAL_Empleados_Fin.qvd;
store Empleados into Empleados_Fin.qvd;
de este manera, puedes cuentar el nombre de empleados presente entre 2 "CAL_FECHA" o "CAL_MES",...
uso eso para conocer el nombre de enfermos que han pasado en tal servicio, habitacuiones y camas entre fechas o tal dia...
espero que te servira.
Florent.
puedes usar el intervalmatch como comenta Florent o igual puedes usar The As-Of Table