Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
rodri_morales
Creator II
Creator II

Grafico de Evolucion

Buen dia a todos, tengo un problema que no se como resolverlo.

Tengo datos de empleados con una fecha de ingreso y una fecha de egreso (en algunos casos). Quiero hacer un grafico de lineas que indique la evolucion de los empleados en la empresa, es decir, quiero ir acumulando cuantos ingresaron y restando cuantos se fueron.

Para el mismo año quiero contar los que ingresaron y restar los que egresaron, y a ese valor acumularlo de acuerdo al valor anterior.

Un ejemplo:

EmpleadoFecha IngresoFecha Egreso
Emp105/12/2014
Emp201/12/201420/02/2015
Emp310/02/2015
Emp412/02/2015

Lo que me daria como resultado:

2014 = 2  (Ingresaron 2 empleados)

2015 = 1  (Ingresaron 2 empleados y se fue 1)

El problema que tengo es que yo obtengo el año a partir de una fecha, en mi caso lo hice a partir de la fecha de ingreso ( year(fechaIngreso)), lo que no me refleja los que se fueron en ese mismo año.

Deberia unificar las 2 fechas, alguien sabe como hacerlo o como podria solucionarlo?

4 Replies
davidrobles
Partner - Contributor III
Partner - Contributor III

Hola Rodrigo,

puedes probar a cargar la tabla dos veces y concatenandolas una como ingreso y otra como egreso renombrando el campo de la fecha correspondiente asi como un campo nuevo que te indique el tipo de fecha.

Ej.

Datos:

load

      Empleado,

     'Ingreso'     as Movimiento,

     Fecha ingreso      as Fecha,

from tabla;

concatenate

load

     Empleado,

     'Egreso'     as Movimiento,

     Fecha egreso as Fecha

from tabla;

Tras esto puedes tratar la tabla resultante

DatosFin

load

     *,

     year(Fecha)     as Año,

     month(Fecha)     as Mes

resident Datos;

drop table Datos Borra o se enlazaran las dos

Luego solo tienes que usar un conjunto como expresion count({<Movimiento={'Ingreso'}>} distinct Empleado) para ingresos y count({<Movimiento={'Egreso'}>} distinct Empleado) para egresos

Un Saludo

Not applicable

Te recomiendo crear una tabla de calendario maestro.

The Master Calendar

Luego cargar los datos en dos tablas: una de ingresos y otra de egresos. Finalmente renombras los campos de fecha para que se llamen igual (el de la fehca de ingresos y el de la de egresos deben llamarse igual que el campo fecha del calendario maestro o crear en el calendario maestro dos campos idénticos al de la fecha, uno con el nombre de la fecha de ingresos y otro la de egresos).

De esta manera filtras por el año y el mes del calendario maestro y se seleccionan las fechas relacionadas de las dos tablas.

davidrobles
Partner - Contributor III
Partner - Contributor III

Al hacer eso creara una referencia circular por el campo empleado.

Not applicable

Hola Rodrigo.

Lo que indica David te puede ayudar, ya que de esa forma estarias optimizando las expresiones en tus graficos.

Es importante ver la forma de adecuar nuestro script de carga para la obtencion de resultados esto bajo el criterio de lo que se desea obtener.

Adjunto unos graficos espero te sirvan.

1) Script (Carga y Modificacion)

Datos:

LOAD * INLINE [

    Empleado, FechaIngreso, FechaCese

    Emp1, 01/02/2011,

    Emp2, 10/03/2011, 15/11/2011

    Emp3, 15/06/2012, 11/12/2014

    Emp4, 23/09/2012, 21/12/2013

    Emp5, 05/11/2012, 25/10/2013

    Emp6, 14/07/2013,

    Emp7, 10/06/2014, 20/08/2014

    Emp8, 01/08/2014,

    Emp9, 23/12/2014,

];

IngresoCese:

Load Empleado,

'IN' as IN_CE,

Year(FechaIngreso) as Año,

FechaIngreso as Fecha_IN_CE,

1 as Cont

resident Datos where FechaIngreso <> '';

Load Empleado,

'CE' as IN_CE,

Year(FechaCese) as Año,

FechaCese as Fecha_IN_CE,

-1 as Cont

resident Datos where FechaCese <> '';

drop table Datos;

2) Grafico de Lineas

Dimension:

Año

Expresion:

Linea

Sum(Cont)

Punto

Sum(Cont)

3) Grafico Tabla Simple

Dimension:

Año

Expresion:

Ingresaron

count({<IN_CE={'IN'}>}IN_CE)

Salieron

count({<IN_CE={'CE'}>}IN_CE)

Resultado

Sum(Cont)

Gra3.JPG

Gra1.JPG

Tener en cuenta que el grafico de lineas al dar valor 0 no mostrara el año, para tal caso tienes que desmarcar "Suprimir Valores Cero"

Gra2.JPG

Espero te sirva.

Atte.

Luis Valencia