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
Syndicate_Admin
Administrator
Administrator

Cálculo de Dax para la duración del tiempo

Hola equipo,

Necesito su ayuda con un cálculo de Dax/power M. Mi día de inicio de semana es el jueves y mi día de fin de semana es el miércoles. Tengo los siguientes datos:

Fecha

Día laborable

Número de semana personalizado

TAREA

Inicio de la tarea

Fin de la tarea

Duración actual (h)

Duración necesaria (h)

01.02.2022

Martes

4

ÉL

01/01/2022 01:00:00 AM

01/01/2022 03:10:00 AM

02:10

02:10

02.02.2022

Miércoles

4

PARA

02.01.2022 23:20:00

02/03/2022 01:00:00 AM

01:40

40min (si se selecciona la semana 4)
1h si se selecciona la Semana 5

03.02.2022

Jueves

5

EE

15:10:00

18:10:15

03:00

03:00

Estoy usando una segmentación de datos para una semana actual personalizada. Entonces, si se selecciona la semana 4, veo fechas desde el 27.01.2022 hasta el 02.02.2022 incl. En la semana 5 veré las fechas 03.02.2022-09.02.2022 incl. El problema que tengo es la columna Duración, que muestra la duración completa entre el inicio de la tarea y el final de la tarea. A las 02.02 del miércoles tengo una tarea que comienza a las 23:20 PM (fecha 02.02 Semana 4), pero termina al día siguiente, que es en la nueva Semana 5. La duración es de 40mins en 02.02 Semana 4, y 01h en 03.02 Semana 5.

Necesito la siguiente nueva columna de duración:
Si selecciono la semana 4, en la fila 02.02 miércoles me gustaría ver Duración 40min, y si selecciono Semana 5, en 02.02 miércoles me gustaría ver Duración 01h.

Si las fechas de inicio de la tarea y finalización de la tarea están en la misma semana, la duración debería ser la completa, pero si las fechas de inicio de la tarea y finalización de la tarea están en una semana diferente, me gustaría ver la duración solo para la semana seleccionada.

Agradeceré la ayuda. Gracias.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hi, @EmaVasileva ;

Pruébalo.

Measure = 
var _start=MAX('Table'[Task Start])
var _end=MAX('Table'[Task end])
return 
IF(ISFILTERED('slicer'[Custom Week Num]),IF(DATEDIFF(_start,_end,DAY)=0,_end-_start,
IF(SELECTEDVALUE('slicer'[Custom Week Num])=CALCULATE(MAX([Custom Week Num]),FILTER('Table',DATEDIFF([Date],[Task Start],DAY)=0)), MAX([Date])+1-_start,_end-MAX([Date])-1))
 ,_end-_start)

El resultado final se muestra a continuación:

vyalanwumsft_0-1644392744820.png

vyalanwumsft_1-1644392752069.png


Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hi, @EmaVasileva ;

Pruébalo.

Measure = 
var _start=MAX('Table'[Task Start])
var _end=MAX('Table'[Task end])
return 
IF(ISFILTERED('slicer'[Custom Week Num]),IF(DATEDIFF(_start,_end,DAY)=0,_end-_start,
IF(SELECTEDVALUE('slicer'[Custom Week Num])=CALCULATE(MAX([Custom Week Num]),FILTER('Table',DATEDIFF([Date],[Task Start],DAY)=0)), MAX([Date])+1-_start,_end-MAX([Date])-1))
 ,_end-_start)

El resultado final se muestra a continuación:

vyalanwumsft_0-1644392744820.png

vyalanwumsft_1-1644392752069.png


Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

"Necesito la siguiente nueva columna de duración"

Si tiene filtros/segmentaciones de datos que están afectando su resultado, entonces su resultado no puede ser una columna. Tiene que ser una medida. Las columnas se calculan ANTES de la interacción del usuario.

¿Cuál es la granularidad esperada de su resultado: minutos individuales, decenas de minutos? Su decisión aquí afectará el cálculo. Debe usar INTERSECT y COUNTROWS para obtener sus resultados.

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.