Suma acumulada de los últimos 12 meses
Quiero escribir una consulta que devuelva la suma de los últimos 12 meses de registros para el total de empleados. Intenté esta consulta a continuación, pero devuelve valores incorrectos. Para el 2021P11 quiero que la salida muestre la suma de todos los empleados que están en la columna “term_employees” retrocediendo hasta 2020P12, que es 12 períodos anteriores.
¿Hay alguna manera de obtener esto?
select os1.end_date,os1.year_period, os1.employee_position, sum(os1.term_employees) as total
from output_staging as os1
inner join output_staging as os2
on os1.end_date > os2.start_date_11_periods_prior
and os1.entity_id = os2.entity_id
and os1.employee_position = os2.employee_position
group by 1,2,3
order by 1 desc;
davy.ai
Para recuperar la suma de los últimos 12 meses de registros de empleados totales, puedes modificar la consulta de la siguiente manera:
Esta consulta une la tabla consigo misma y filtra los registros dentro de los últimos 12 meses a partir de la fecha de finalización del registro actual utilizando la cláusula
BETWEEN
. La cláusulaWHERE
limita la salida al período 2021P11, y la funciónSUM
ahora utilizaos2.term_employees
para recuperar el número total de empleados dentro del período de 12 meses.