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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

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
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

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

Top Solution Authors
Top Kudoed Authors