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

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Contar las horas por empleado y por fecha

Estoy tratando de crear una columna caculada (horas trabajadas) o una fórmula DAX para contar las horas trabajadas para cada empleado, cada fecha (el cálculo se basa en la variación entre la columna Max y Min TIME).

FechaNombre del empleadoHoraHoras trabajadas
1/1/2024Sara6:30 a.m.3
1/1/2024Sara7:30 a.m.3
1/1/2024Sara9:00 a.m.3
1/1/2024Sara9:30 a.m.3
1/3/2024John13:302
1/3/2024John14:002
1/3/2024John15:302
1 ACCEPTED SOLUTION

Esto es muy preciso. Muchas gracias.

¿Hay alguna forma de redondear a toda la hora?

Necesito averiguar por qué sigo recibiendo 23 horas para pocos empleados.

Bgonen777_0-1706817990403.png

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@Bgonen777

Puede crear una medida de la siguiente manera.

Hours worked = 
VAR _min = CALCULATE(MIN('Table'[Time]), ALLEXCEPT('Table', 'Table'[Date], 'Table'[Employee name]))
VAR _max = CALCULATE(MAX('Table'[Time]), ALLEXCEPT('Table', 'Table'[Date], 'Table'[Employee name]))
RETURN
FORMAT(_max - _min, "h")

vxuxinyimsft_0-1706232305497.png

¿Es este el resultado que esperas?

Saludos
Equipo de apoyo a la comunidad _Yuliax

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Esto es muy preciso. Muchas gracias.

¿Hay alguna forma de redondear a toda la hora?

Necesito averiguar por qué sigo recibiendo 23 horas para pocos empleados.

Bgonen777_0-1706817990403.png

Syndicate_Admin
Administrator
Administrator

Agradezco mucho el esfuerzo.

Intentaré una solución menos sofisticada. (realmente tratando de encontrar el TIEMPO máximo menos el TIEMPO mínimo para obtener el número de horas por fecha y por ID de empleado.

Gracias Daniel

Syndicate_Admin
Administrator
Administrator

@Bgonen777

zenisekd_0-1706168458087.png

Se agradecen las felicitaciones y la marca como solución.

Syndicate_Admin
Administrator
Administrator

@Bgonen777

Daniel29195_0-1706167762542.png

Cree esta columna :

Columna =
var fuente de datos =

filtro(
all(tabla21[Fecha],tabla21[Nombre del empleado],tabla21[Hora]),
table21[Nombre del empleado] = ANTERIOR(tabla21[Nombre del empleado]) && tabla21[Fecha] = ANTERIOR(tabla21[Fecha])
)

var min_time =
SELECTCOLUMNS(
ÍNDICE(
1,
fuente de datos,
ORDERBY(tabla21[Hora], asc )
),
"@min", tabla21[Hora])

var max_time =
SELECTCOLUMNS(
ÍNDICE(
1,
fuente de datos,
ORDERBY(tabla21[Hora], desc )
),
"@max", tabla21[Hora])


var res = datediff( min_time,max_time,HOUR)

Volver res
Daniel29195_1-1706167786676.png

Esto debería funcionar.

Si mi respuesta ha abordado con éxito su problema, ¡considere la posibilidad de marcarla como la solución aceptada! Esto ayudará a otros a encontrarlo rápidamente. Agradecería que me dieran ese aplauso 👍🫡

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.