Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
Espero me ayuden.
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
];
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,
Hola,
Crea un Load Distinct Empleado,
Fecha
From tu consulta
Luego en la expresion los cuentas hasta la fecha.
Saludos,
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.
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
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.
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)
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,
Hola Jordi no puedo acceder al archivo, podrias detallarlo por texto si no fuera molestia.
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
];
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,
Es lo que necesitaba, muchas gracias por tu tiempo Jordi.
Saludos.