Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
mariases94
Helper III
Helper III

Días no fichados por trabajador (RRHH)

Buenos días,

 

Necesito ayuda con lo siguiente:

 

Tengo dos tablas:

 

1. Tabla FICHAJES: reúne los fichajes de cada trabajador.

2. Tabla CALENDAR: calendario.

 

Relaciones: FICHAJES[Fecha fichaje] está relacionada con CALENDAR[Date].

 

Necesito obtener los días que cada trabajador no ha fichado. Por ejemplo:

 

Maria ---> no ha fichado el 29/03/2023

Carla ---> no ha fichado el 20/03/2023

Eduardo ---> no ha fichado el 18/03/2023

 

*** Cuando un trabajador no ficha, en FICHAJES[Fecha fichaje] no se registra la fecha.

 

Podéis ayudarme, por favor?

 

Gracias!

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Para obtener los días que cada trabajador no ha firmado, puede seguir estos pasos:

  1. Cree una consulta que una la tabla SIGNINGS con la tabla CALENDAR mediante la relación entre FILES[Date Signing] y CALENDAR[Date].

  2. Utilice un LEFT JOIN para incluir todas las fechas en la tabla CALENDAR, independientemente de si hay un registro correspondiente en la tabla SIGNINGS.

  3. Agregue un campo calculado a la consulta que determine si se ha producido una firma en un día determinado. Este campo puede utilizar la función IIf() para comprobar si hay un valor en FILES[Fecha registrada] para el trabajador y la fecha determinados.

  4. Agrupe la consulta por trabajador y fecha, y utilice la función SUM() para contar el número de firmas que se produjeron en cada día.

  5. Utilice una cláusula WHERE para filtrar los resultados para incluir solo los días en los que no se ha producido ninguna firma.

  6. Dé formato a los resultados de la consulta para mostrar el nombre del trabajador y las fechas en que no firmó.

Este es un ejemplo de código SQL para esta consulta:
SELECCIONA FICHAJES. Trabajador, CALENDARIO. Fecha
DESDE CALENDARIO A LA IZQUIERDA ÚNETE A LOS FICHAJES EN EL CALENDARIO. Fecha = FICHAJES. [Fecha de firma]
AGRUPAR POR FICHAJES. Trabajador, CALENDARIO. Fecha
TENER SUMA(IIf(ISNULL(ARCHIVOS.[ Fecha de registro]), 0, 1)) = 0


Esta consulta devolverá el nombre del trabajador y las fechas en las que no se produjo ninguna firma.

@Syndicate_Admin 

He hecho un modelo de prueba para la misma casuística.

 

En la tabla que adjunto, puedes ver que Maria no ha fichado el 30/03/2023.

 

mariases94_0-1680165926044.png

 

Necesitaría tener una tabla donde hubiera 3 columnas: la columna de calendar, la columna de usuario y la columna de la fecha de fichaje. 

Osea no sé como hacer que, por mucho que Maria no haya fichado, me cree un registro en blanco, por ejemplo necesitaría algo así:

 

mariases94_1-1680169769585.png

 

Gracias y un saludo!

@Syndicate_Admin disculpa, pero llevo poco tiempo usando Power BI y no entiendo muy bien qué es lo que se tiene que hacer...

 

He hecho lo siguiente:

 

1. He combinado la tabla CALENDAR con la tabla FICHAJES con LEFT JOIN. Ahora tengo dos columnas tipo Fecha y una columna con los usuarios. 

 

No voe como continuar, no lo entiendo.

 

Syndicate_Admin
Administrator
Administrator

Hola @Syndicate_Admin ,

Prueba esto

Measure= CALCULATE ( COUNTROWS ( ARCHIVOS ), FILES[Fecha de registro] = EN BLANCO () )

Si respondí a su pregunta, marque mi publicación como solución, aprecie sus felicitaciones 👍

Sígueme en Linkedin

@Syndicate_Admin el problema es que cuando no fichan, no se crea ninguna fila, por lo que tampoco existen blanks.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors