Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Sprintclosedat2 = Switch(True(),
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,6,23), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 7,7)),21.4,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,7,07), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 7,21)),21.4-2,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,7,21), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 8,4)),21.4-3,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,8,4), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 8,18)),21.4-4,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,8,18), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 9,1)),21.5-1,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,9,1), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 9,15)),21.5-2,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,9,15), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 9,29)), 21.5-3,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,9,29), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 10,13)), 21.5-4,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,10,13), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 10,27)), 21.6-1,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,10,27), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 11,10)), 21.6-2,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,11,10), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 11,24)), 21.6-3,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,12,08), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2021, 1,3)), 21.7,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,1,03), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 1,19)),22.1,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,1,19), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 2,02)),22.2,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,2,02), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 2,16)),22.3,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,2,16), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 3,2)),22.4,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,3,02), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 3,16)),22.5,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,3,16), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 3,30)),22.6,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,3,30), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 4,13)),22.7,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2022,04,13), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] <= DATE(2022, 04,27)),22.8)
Solved! Go to Solution.
Hola blueranger44
Considere estas 2 soluciones y luego haga clic en el botón resuelto y pulgar hacia arriba para dejar felicitaciones porque somos voluntarios de Power BI no remunerados.
Haga clic aquí para ver soluciones de ejemplo
Solución1:- Simplifique la medida DAX.
No necesita los AND porque SWITCH es un IF anidado.
Por lo tanto, no hay necesidad de probar si los valores < que una prueba anterior.
Esto será mucho más rápido para la CPU y más fácil de verificar para un humano.
....
Sprint1=
VAR mydate = SELECTEDVALUE(HX/Silvis ALL Tasks Closed'[result.closed_at].[ Fecha])
DEVOLUCIÓN
SWITCH(True(),
mydate < Fecha(2021,6,23), BLANK(),
mydate <= FECHA(2021, 7,7),21.4,
mydate <= FECHA(2021, 7,21),21.4-2,
mydate <= FECHA(2021, 8,4),21.4-3,
mydate <= FECHA(2021, 8,18),21.4-4,
mydate <= FECHA(2021, 9,1),21.5-1,
mydate <= FECHA(2021, 9,15),21.5-2,
mydate <= FECHA(2021, 9,29), 21.5-3,
mydate <= FECHA(2021, 10,13), 21.5-4,
mydate <= FECHA(2021, 10,27), 21.6-1,
mydate <= FECHA(2021, 11,10), 21.6-2,
mydate <= FECHA(2021, 11,24), 21.6-3,
mydate <= FECHA(2021, 1,3), 21.7,
mydate <= FECHA(2022, 1,19),22.1,
mydate <= FECHA(2022, 2,02),22.2,
mydate <= FECHA(2022, 2,16),22.3,
mydate <= FECHA(2022, 3,2),22.4,
mydate <= FECHA(2022, 3,16),22.5,
mydate <= FECHA(2022, 3,30),22.6,
mydate <= FECHA(2022, 4,13),22.7,
mydate <= FECHA(2022, 04,27),22.8,
EN BLANCO())
Solución2:- Usar tabla Calendario
Esta solución es mucho más sencilla.
Cree un Calander con fecha y valor de sprint.
A continuación, cree una relación de 1:m entre el Calander[Fecha] y su tabla[Fecha].
Esta solución es mejor que una fórmula DAX.
Haga clic aquí para ver soluciones de ejemplo
Hola blueranger44
Considere estas 2 soluciones y luego haga clic en el botón resuelto y pulgar hacia arriba para dejar felicitaciones porque somos voluntarios de Power BI no remunerados.
Haga clic aquí para ver soluciones de ejemplo
Solución1:- Simplifique la medida DAX.
No necesita los AND porque SWITCH es un IF anidado.
Por lo tanto, no hay necesidad de probar si los valores < que una prueba anterior.
Esto será mucho más rápido para la CPU y más fácil de verificar para un humano.
....
Sprint1=
VAR mydate = SELECTEDVALUE(HX/Silvis ALL Tasks Closed'[result.closed_at].[ Fecha])
DEVOLUCIÓN
SWITCH(True(),
mydate < Fecha(2021,6,23), BLANK(),
mydate <= FECHA(2021, 7,7),21.4,
mydate <= FECHA(2021, 7,21),21.4-2,
mydate <= FECHA(2021, 8,4),21.4-3,
mydate <= FECHA(2021, 8,18),21.4-4,
mydate <= FECHA(2021, 9,1),21.5-1,
mydate <= FECHA(2021, 9,15),21.5-2,
mydate <= FECHA(2021, 9,29), 21.5-3,
mydate <= FECHA(2021, 10,13), 21.5-4,
mydate <= FECHA(2021, 10,27), 21.6-1,
mydate <= FECHA(2021, 11,10), 21.6-2,
mydate <= FECHA(2021, 11,24), 21.6-3,
mydate <= FECHA(2021, 1,3), 21.7,
mydate <= FECHA(2022, 1,19),22.1,
mydate <= FECHA(2022, 2,02),22.2,
mydate <= FECHA(2022, 2,16),22.3,
mydate <= FECHA(2022, 3,2),22.4,
mydate <= FECHA(2022, 3,16),22.5,
mydate <= FECHA(2022, 3,30),22.6,
mydate <= FECHA(2022, 4,13),22.7,
mydate <= FECHA(2022, 04,27),22.8,
EN BLANCO())
Solución2:- Usar tabla Calendario
Esta solución es mucho más sencilla.
Cree un Calander con fecha y valor de sprint.
A continuación, cree una relación de 1:m entre el Calander[Fecha] y su tabla[Fecha].
Esta solución es mejor que una fórmula DAX.
Haga clic aquí para ver soluciones de ejemplo
Gracias @speedramps por su respuesta. Probé tu código y estoy obteniendo todos los espacios en blanco?
Sprint =
VAR mydate = SELECTEDVALUE('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date])
RETURN
SWITCH(True(),
mydate < Date(2021,6, 23), BLANK(),
mydate <= DATE(2021,7,7),21.4,
mydate <= DATE(2021,7,21),21.4-2,
mydate <= DATE(2021,8,4),21.4-3,
mydate <= DATE(2021,8,18),21.4-4,
mydate <= DATE(2021,9,1),21.5-1,
mydate <= DATE(2021, 9,15),21.5-2,
mydate <= DATE(2021, 9,29), 21.5-3,
mydate <= DATE(2021, 10,13), 21.5-4,
mydate <= DATE(2021, 10,27), 21.6-1,
mydate <= DATE(2021, 11,10), 21.6-2,
mydate <= DATE(2021, 11,24), 21.6-3,
mydate <= DATE(2021, 1,3), 21.7,
mydate <= DATE(2022, 1,19),22.1,
mydate <= DATE(2022, 2,02),22.2,
mydate <= DATE(2022, 2,16),22.3,
mydate <= DATE(2022, 3,2),22.4,
mydate <= DATE(2022, 3,16),22.5,
mydate <= DATE(2022, 3,30),22.6,
mydate <= DATE(2022, 4,13),22.7,
mydate <= DATE(2022, 04,27),22.8,
BLANK())
Hola de nuevo bluranger44
El [result.closed_at] es un campo de tipo fecha/hora.
Recomienda transformarlo en un campo de fecha.
Si utiliza la Solución 1, eso hará que la depuración de DAX sea más fácil para usted.
Si utiliza Solution2, debe usar una relación de fecha a fecha.
No use una fecha a fecha /hora para la relación.
Vea mis ejemplos, ambos métodos funcionan Haga clic aquí para ver ejemplos de soluciones
¿Qué quiere decir con que no está recogiendo todas las declaraciones AND? ¿Qué esperas que suceda y qué está haciendo realmente?
Mirando su código, parece sintácticamente bien, pero cuando está tratando de crear bandas como esta, los límites superior e inferior deben estar separados, no superpuestos.
Lo que quiero decir es que cuando desea verificar las tareas cerradas entre el 23 jun 21 y el 7 jul 21, entonces el siguiente rango no debería comenzar el 7 jul 21. El final de un rango se superpone al comienzo del siguiente.
Por lo tanto, su código debe tener un aspecto similar al de
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,6,23), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] < DATE(2021, 7,7)),21.4,
AND('HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] >= Date(2021,7,07), 'HX/Silvis ALL Tasks Closed'[result.closed_at].[Date] < DATE(2021, 7,21)),21.4-2,
etc.
Saludos
Phil
Gracias por la respuesta @PhilipTreacy , creo que así es exactamente como se formatean mis datos.
Estoy intentando obtener el número de sprint específico adjunto al número de boleto correcto en función de la fecha en que se cerró o resolvió el incidente. Catergorize el boleto basado en el sprint que se cerró.
El código funciona para un chuck grande como puede ver en la captura de pantalla a continuación (22.1 - 22.8), pero por alguna razón no funciona para las líneas adicionales.
Hola de nuevo Blueranger
¿Has probado mis 2 soluciones?
Para las fechas de sprint es mejor pratice
crear un Calander con una Fecha y Sprint.
A continuación, cree una relación de 1:m entre el Calander[Fecha] y su tabla[Fecha].
Esta solución es simplex y más rápida que una fórmula DAX porque un usuario puede cambiar el calandar sin progarming DAX