- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Calcular el tiempo entre
Hola a todos
Tengo una columna 'Tiempo de descanso' que se muestra a continuación que calculan la hora entre el inicio en un día y la hora de finalización en el día anterior.
¿Cómo puedo cambiar esta columna para calcular la diferencia horaria entre la hora de finalización en un día y la hora de inicio al día siguiente?
Tiempo de descanso ?
VAR CT ? COUNTROWS(filter('Engage Timesheet Export', [Timesheet ID] ?earlier([Timesheet ID]) && [Date]<earlier([date])))
RETURN IF(CT á 0 , 0 , maxx(filter('Engage Timesheet Export', [Timesheet ID] ?earlier([Timesheet ID]) && [Date]<earlier([date])),[End time]) -[time time])
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@HenryJS,pruebe lo siguiente:
Rest =
VAR vTimesheet =
MAX ( Timesheet[Timesheet ID] )
VAR vMaxDate =
MAX ( Timesheet[Date] )
VAR vMaxEndTime =
MAX ( Timesheet[End Time] )
VAR vFutureDates =
FILTER ( ALL ( Timesheet ), Timesheet[Timesheet ID] = vTimesheet && Timesheet[Date] > vMaxDate )
VAR vMinFutureDate =
MINX ( vFutureDates, Timesheet[Date] )
VAR vFutureDate =
FILTER ( vFutureDates, Timesheet[Date] = vMinFutureDate )
VAR vFutureStartTime =
MINX ( vFutureDate, Timesheet[Start Tme] )
VAR vResult = 24 - vMaxEndTime + vFutureStartTime
RETURN
IF ( ISBLANK ( vFutureStartTime ), BLANK(), vResult )
Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hola @HenryJS ,
Según mi opinión, podría usar la siguiente fórmula después de agregar una columna de índice:
Rest Time =
VAR _previous =
CALCULATE (
MAX ( 'Table'[Start] ),
FILTER ( ALL ( 'Table' ), 'Table'[Index] = MAX ( 'Table'[Index] ) + 1 )
)
VAR TotalSeconds =
24 * 3600
- HOUR ( MAX ( 'Table'[End] ) ) * 3600
+ MINUTE ( MAX ( 'Table'[End] ) ) * 60
+ SECOND ( MAX ( 'Table'[End] ) )
+ HOUR ( _previous ) * 3600
+ MINUTE ( _previous ) * 60
+ SECOND ( _previous )
VAR Days =
TRUNC ( TotalSeconds / 3600 / 24 )
VAR Hors =
TRUNC ( ( TotalSeconds - Days * 3600 * 24 ) / 3600 )
VAR Mins =
TRUNC ( MOD ( TotalSeconds, 3600 ) / 60 )
VAR Secs =
MOD ( TotalSeconds, 60 )
RETURN
IF ( DAYS = 0, "", IF ( DAYS > 1, DAYS & "days ", Days & "day" ) )
& IF ( Hors < 10, "0" & Hors, Hors ) & "h"
& IF ( Mins < 10, "0" & Mins, Mins ) & "m"
& IF ( Secs < 10, "0" & Secs, Secs ) & "s"
Mi visualización tiene este aspecto:
¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.
Saludos
Eyelyn Qin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@HenryJS, pruebe esta medida:
Rest =
VAR vTimesheet =
MAX ( Timesheet[Timesheet ID] )
VAR vMaxDate =
MAX ( Timesheet[Date] )
VAR vMaxStartTime =
MAX ( Timesheet[Start Tme] )
VAR vPrevDates =
FILTER ( ALL ( Timesheet ), Timesheet[Timesheet ID] = vTimesheet && Timesheet[Date] < vMaxDate )
VAR vMaxPrevDate =
MAXX ( vPrevDates, Timesheet[Date] )
VAR vPrevDate =
FILTER ( vPrevDates, Timesheet[Date] = vMaxPrevDate )
VAR vPrevEndTime =
MAXX ( vPrevDate, Timesheet[End Time] )
VAR vResult = 24 - vPrevEndTime + vMaxStartTime
RETURN
IF ( ISBLANK ( vPrevEndTime ), BLANK(), vResult )
Did I answer your question? Mark my post as a solution!
Proud to be a Super User!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@DataInsights Hola
¿Es posible cambiar el tiempo de descanso para que esté calculando el tiempo entre la hora de finalización en 14/09 y la hora de inicio en 15/09.
Así que el tiempo de descanso en 14/09 en su imagen de abajo, sería 15:00:00
Gracias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

@HenryJS,pruebe lo siguiente:
Rest =
VAR vTimesheet =
MAX ( Timesheet[Timesheet ID] )
VAR vMaxDate =
MAX ( Timesheet[Date] )
VAR vMaxEndTime =
MAX ( Timesheet[End Time] )
VAR vFutureDates =
FILTER ( ALL ( Timesheet ), Timesheet[Timesheet ID] = vTimesheet && Timesheet[Date] > vMaxDate )
VAR vMinFutureDate =
MINX ( vFutureDates, Timesheet[Date] )
VAR vFutureDate =
FILTER ( vFutureDates, Timesheet[Date] = vMinFutureDate )
VAR vFutureStartTime =
MINX ( vFutureDate, Timesheet[Start Tme] )
VAR vResult = 24 - vMaxEndTime + vFutureStartTime
RETURN
IF ( ISBLANK ( vFutureStartTime ), BLANK(), vResult )
Did I answer your question? Mark my post as a solution!
Proud to be a Super User!

Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - February 2025
Check out the February 2025 Power BI update to learn about new features.

Subject | Author | Posted | |
---|---|---|---|
09-09-2020 05:05 AM | |||
12-14-2023 11:29 PM | |||
12-14-2020 08:01 AM | |||
01-23-2024 07:55 AM | |||
12-14-2023 01:59 AM |