Saltar al contenido

Cómo analizar los datos de los empleados usando SQL

Todo esto es bastante fácil, pero ¿qué pasaría si quisiéramos crear una vista que tenga el total de empleados activos para cada día, de modo que pudiéramos seguir la tendencia a lo largo del tiempo y hacer preguntas más complejas como el crecimiento año tras año (YoY)?

Necesitaríamos incluir otra tabla que no tenga nada más que fechas. En el Almacén de Datos normalmente creamos esto como una dimensión de la Fecha. Aquí hay una estructura básica con la que podemos trabajar.

Cómo analizar los datos de los empleados usando SQL
Cómo analizar los datos de los empleados usando SQL

Nombre de la mesa: Fechas

FechaDíaMes-Año2005-01-011520052005-01-02252005etc…

Usaremos esto como nuestro punto de partida ya que no estará limitado por el estatus de empleado en el momento o fechas de nuestra tabla de empuje. Desde ahí, haremos una unión a la izquierda de nuestra tabla de empuje para obtener el conteo de empleados activos similar a como lo hicimos manualmente arriba. Aquí está el SQL para hacer esto:

123456789101112131415seleccioneFechaDía,cuente(contrata.EmpleadoId)comoCuentaActiva a partir de fechas d-- obtenga contratadosleftjoin(seleccione$0027activo$0027comoEstado,*de emps) hireson( d.Fecha TermDate)-- normal activeor(d.Datebetween(casewhen hires.RehireDate =$00271900-01-01$0027thennullelse hires.RehireDate end)and hires.TermDate)where d.Datebetween$00272004-06-17$0027andnow()-- usa la función para sacar la fecha actual aquí

sql

¡Ay, tenemos datos de tendencias!

Los resultados de la consulta anterior nos darán un recuento diario de los empleados activos a la tendencia a lo largo del tiempo. Este es sólo el primer paso para analizar los datos de los empleados, por supuesto, pero una base sólida para empezar y un buen ejemplo de por qué es importante tener una dimensión de la fecha en su almacén de datos.