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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
mariases94
Helper II
Helper II

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.