¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo calcular la edad promedio de empleados con la misma fecha de nacimiento en una vista analítica

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 9 Vistas
0
Cargando...

Hola a todos,

Estoy tratando de crear una vista de cálculo gráfica sobre una Vista Analítica. La salida de la Vista Analítica se ve algo así,

PERNR Fecha de nacimiento Unidad Org. Conteo
1 23/02/1980 A 1

En la vista de cálculo, he creado una columna calculada en el nodo de proyección, llamada "Edad del empleado" con la expresión 'díasentre("Fecha de nacimiento", now())' y se agrega a la salida como Columna Agregada (SUMA). Conteo también se agrega a la salida como una columna agregada (SUMA).

A nivel de Unidad Org., ambos empleados en la Unidad Org. "A" tienen la misma fecha de nacimiento. Entonces, la columna calculada está tomando solo una fila y calculando la SUMA de la Edad como "36" en lugar de "72" y la Edad Promedio como "18" en lugar de "36".

¿Qué debo hacer para obtener la salida correcta, es decir, cómo puedo hacer que la columna calculada considere a ambos empleados para el cálculo de la SUMA y el PROMEDIO?

Cualquier indicación al respecto sería de gran ayuda. Por favor, avísenme si el ejemplo que he dado arriba no está claro.

Gracias y saludos,

Vishwa

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Ok, estaba un poco nervioso

Probablemente no necesites mantener la bandera en la fecha de todos modos (¡quién tendría más de una fecha de nacimiento, verdad!? )

Saludos,

Lucas de Oliveira

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Lucas y Shireesha,

Gracias por responder. La vista analítica que estoy intentando utilizar es una vista de solo lectura (no editable) creada desde el sistema BW (vista HANA para Infocube). Por lo tanto, no tengo la opción de eliminar la vista analítica del flujo de datos.

El "Keep Flag" en el nodo de Agregación me ayudó a resolver el problema. Establecí esta bandera como TRUE solo para la columna PERNR.

Gracias y saludos,

Vishwa

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Vishwa,

Pude reproducir tu problema y observé que la medida calculada se calcula después de la agregación de las columnas OrgUnit y dataofbirth, lo que conduce a resultados incorrectos.

En lugar de crear una vista analítica y usarla en una vista de cálculo, puedes crear directamente una vista de cálculo donde agregar la fuente de datos en el nodo de Proyección debajo del nodo de Agregación predeterminado y crear la columna calculada Employee_Age en el nodo de Proyección, donde Employee_Age se calculará antes de la agregación de columnas como se muestra a continuación. De esta manera, me muestra los resultados correctos.

Espero que esto ayude con tu pregunta.

Saludos cordiales,

Shireesha

scn_agg.PNG
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Vishwa,

La agregación en tu columna calculada intentará realizarse lo antes posible. Por lo tanto, asumo que las fechas iguales se establecen en una sola fecha en ese caso, lo que hace que solo se realice un cálculo de edad de empleado por fecha distinta. ¿Quieres que estos cálculos sean por Número de Persona y Fecha de Nacimiento, verdad?

Si es así, ¿has intentado establecer 'Keep Flag' = True para la columna de Fecha y PersNR? Creo que este caso encaja perfectamente con esa característica. Es importante entender que esto forzará implícitamente el agrupamiento en esas columnas, para que el cálculo se realice 'correctamente'. Obviamente, tendrá un impacto en el rendimiento.

Aquí tienes un buen artículo sobre Keep Flag:

Saludos,

Lucas de Oliveira

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?