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.
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) |
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.
Solved! Go to Solution.
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:
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.
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:
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.
"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.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |