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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Calcule el total de horas trabajadas a partir de múltiples check-outs

Hola

Tengo datos en powerbi y quiero calcular el total de horas trabajadas por cada día y luego el total por mes para cada usuario.

En el informe me gustaría seleccionar un mes y luego en la fila superior habrá cada día en la columna izquierda estará el código del empleado y en las celdas quiero calcular cuántas horas trabajó emplyee para ese día. Como puede ver en el día de trabajo, el empleado puede hacer múltiples chek in y múltiples salidas. ¿Puedes ayudarme a construir esto?

Mis datos en powerbi se ven así:

jja_0-1685855271338.png

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@Fowmy

Utilicé como solución crear una tabla y funciona como se esperaba hasta que si el usuario no revisó, entonces el período que trabajó no se calcula para ese día. Me gustaría devolver alguna indicación en este caso, como en el mejor de los casos, un error o, digamos, hacer un registro OUT falso como 23:59 horas (el usuario salió a medianoche) y luego calcular los minutos de tiempo trabajados. ¿Podrías ayudar con eso también?

Syndicate_Admin
Administrator
Administrator

@Fowmy

Gracias

¡Eso funciona perfecto!

Syndicate_Admin
Administrator
Administrator

@jja

Sugergo, usted crea una tabla que calcula el tiempo en minutos que los empleados trabajaron y luego agrega una nueva medida para sumar los minutos que trabajaron.

Esta es una forma de crear una tabla:

Table 2 = 
ADDCOLUMNS (
    FILTER ( table1, Table1[Action] = "OUT" ),
    "Time Worked (min)",
        VAR __INTIME = Table1[Date and Time]
        VAR __EMP = Table1[Employee code]
        VAR __DATE = Table1[new_dateonly]
        VAR __OUTIME =    
            MAXX(
                FILTER (
                    ALL(table1), Table1[Employee code] = __EMP && Table1[new_dateonly] = __DATE &&  Table1[Action] = "IN"  && Table1[Date and Time] < __INTIME
                ),
                Table1[Date and Time]
            )
        VAR __TIMEWORKED = DATEDIFF( __OUTIME , __INTIME ,  MINUTE )
        RETURN
            __TIMEWORKED
)

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors