Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Cantidad Empleados nuevos por fecha

Hola a todos.

Tengo una relacion de fechas con codigos de empleados, el cual quiero representarlos en una tabla simple.

Lo que se quiere mostrar en la tabla simple es la cantidad de empleados que se tiene hasta esa fecha.

En el dia 01/05/2015 se tiene 4 empleados registrados, luego en el dia 02/05/2015 se registran unos empleados pero en el aparece uno nuevo que es "EM5" por lo tanto en esa fecha debe mostrar 5 empleados (4 del dia 01 y 1 del dia 02 ).

En el dia 03/05/2015 se regisran empleados pero no hay nuevos por lo que se sigue mostrando 5.

001.JPG

Espero me ayuden.

1 Solution

Accepted Solutions
sorrakis01
Specialist
Specialist

Hola Luis,

Ahí te va!

LOAD * INLINE [

    Fecha, Empleado

    01/05/2015, EM1

    01/05/2015, EM2

    01/05/2015, EM3

    02/05/2015, EM4

    02/05/2015, EM2

    03/05/2015, EM3

    03/05/2015, EM2

    03/05/2015, EM5

    04/05/2015, EM5

    04/05/2015, EM6

    04/05/2015, EM18

    05/05/2015, EM18

    05/05/2015, EM19

    05/05/2015, EM3

    06/05/2015, EM33

];

Luis.PNG

1ª expresion --> Count(Empleado)

2ª expresion --> Count(distinct aggr(Empleado, Empleado))

3ª expresion --> rangesum(above(column(2),0,rowno()))

4ª expresion --> rangesum(above(Count(distinct aggr(Empleado, Empleado)),0,rowno()))

espero que te sirva,


Saludos,

View solution in original post

9 Replies
sorrakis01
Specialist
Specialist

Hola,

Crea un Load Distinct Empleado,

Fecha

From tu consulta

Luego en la expresion los cuentas hasta la fecha.

Saludos,

Not applicable
Author

Lo que indicas es correcto pero solo he tomado como ejemplo esos campos, en caso de que tenga varios (Gerencia, Centro Costo, TipoPlanilla, Departamento etc) no funcionaria por que se tendria que hacer tabla por cada agrupacion que se quiera ver.

Seria optimo hacer mediante una expresion dentro de la tabla simple, en la cual se pueda elegir la dimensiones.

ramoncova06
Specialist III
Specialist III

En tus datos reales los empleados no aparecen en todos los días como en el ejemplo que pusiste o si aparecen en todos los días ?

Fecha es tu dimensión ?

vas a mostrar todos los días o únicamente un par de dias ?

si aparecen en todos los dias lo mas facil es hacer count distinct como expresión

Not applicable
Author

Asi es Ramon, los empleados no aparecen todos los dias en las fechas y se quiere ver dia a dia cuantos empleados se tiene hasta esa fecha registrado en una tabla simple.

En si la data es un Tareo.

ramoncova06
Specialist III
Specialist III

ok, eso hace un poco más compleja la expresión y yo te recomendaria, agregar los empleados que falten a las fechas y luego hacer un count distinct, pero si eso no es posible aquí hay dos opciones

Puedes crear un calendario isla y luego hacer un cálculo donde tu fecha sea menor a la fecha de la isla y contar los empleados distintos (si manejas muchos datos esta opción te puede dar problemas de rendimiento)

La otra opción es crear una bandera para la fecha de ingreso y luego hacer una suma acummulada (para esta tienes que deshabilitar la opción de suprimir valores nulos)

sorrakis01
Specialist
Specialist

Hola Luis,

Mira si esto se ajusta más a lo que necesitas. El de ayer lo hice muy rápido y pensaba que solo necesitabas el campo Empleado. Creo que este, está más completo.

saludos,

Not applicable
Author

Hola Jordi no puedo acceder al archivo, podrias detallarlo por texto si no fuera molestia.

sorrakis01
Specialist
Specialist

Hola Luis,

Ahí te va!

LOAD * INLINE [

    Fecha, Empleado

    01/05/2015, EM1

    01/05/2015, EM2

    01/05/2015, EM3

    02/05/2015, EM4

    02/05/2015, EM2

    03/05/2015, EM3

    03/05/2015, EM2

    03/05/2015, EM5

    04/05/2015, EM5

    04/05/2015, EM6

    04/05/2015, EM18

    05/05/2015, EM18

    05/05/2015, EM19

    05/05/2015, EM3

    06/05/2015, EM33

];

Luis.PNG

1ª expresion --> Count(Empleado)

2ª expresion --> Count(distinct aggr(Empleado, Empleado))

3ª expresion --> rangesum(above(column(2),0,rowno()))

4ª expresion --> rangesum(above(Count(distinct aggr(Empleado, Empleado)),0,rowno()))

espero que te sirva,


Saludos,

Not applicable
Author

Es lo que necesitaba, muchas gracias por tu tiempo Jordi.

Saludos.