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
Estoy tratando de crear una fórmula que mostrará si los empleados están asistiendo a una visita en los momentos acordados con el cliente y si llegan dentro de los 30 minutos de la hora programada / planificada.
¿Cómo se haría esto con varias instrucciones if.
Solved! Go to Solution.
No puedo usar los datos de prueba que has puesto como fotos, pero creo que esto debería resolver lo que te falta
Result =
IF ( ISBLANK( [Actual Start Time] ), BLANK(),
IF ( ABS ( [Actual Start Time] - [Planned Start Time] ) <= (30/60)/24, "OK", "NOT" ) ) )
Básicamente envolver valor absoluto (ABS) alrededor de la diferencia de tiempo por lo que sólo estará bien para
-30 < Diff < 30
También puede haber problemas con la forma en que se almacenan las horas de inicio reales y planificadas (tipo de datos). Si se trata de un tipo de datos Datetime formateado para que parezca una hora, puede actuar de forma diferente a un tipo de datos Time. Siempre puede crear una columna para [Hora de inicio real] - [Hora de inicio planificada] solo para ver cómo PBI está calculando ese valor.
Espero que esto ayude
David
No @pardeepd84,
Creo que probablemente entiendo a lo que te refieres. Podemos usar datediff dax para calcular el intervalo de tiempo entre [Hora de inicio real] y [Hora de inicio planificada], a continuación, juzgar si el intervalo de tiempo es inferior a 30 . Si es así, devolver "OK", si no, devolver "NO".
Columna calculada:
tiempo diff = DATEDIFF(schedual[Tiempo de inicio real],schedual[Hora de inicio planificada],MINUTE)
si el resultado = IF(schedual[Tiempo de inicio real]=BLANK(),BLANK(),IF(schedual[time diff]<30,"OK","NOT"))
También puede utilizar SWITCH DAX , Es el mismo resultado que si dax , y no necesita ser anidado.
Resultado del switch = SWITCH(TRUE(),schedual[Tiempo de inicio real]=BLANK(),BLANK(),schedual[time diff]<30,"OK","NOT")
El efecto es como se muestra:
Saludos
Equipo de Apoyo a la Comunidad _ Ailsa Tao
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.
No @pardeepd84 -
Creo * Entiendo lo que está tratando de hacer aquí, pero si esto no es todo, por favor indique sus condiciones en un párrafo o viñetas en lugar de una fórmula de Excel (y proporcione datos de prueba copiables).
Result =
IF ( ISBLANK( [Actual Start Time] ), BLANK(),
IF ( [Actual Start Time] - [Planned Start Time] <= (30/60)/24, "OK", "NOT" ) ) )
(NOTA que es Real - Planificado < 0 también va a ser menos de 30 minutos, así que razón para probar ambos)
Espero que esto ayude
David
He intentado su sugerencia, pero no obtenga los mismos resultados. Por favor, consulte más explicaciones a continuación de mi consulta:
sin embargo
Vea los datos de muestra a continuación
He intentado el cálculo como se sugiere, pero no da los resultados deseados. Por favor, podría tener ayuda con esto, gracias.
No puedo usar los datos de prueba que has puesto como fotos, pero creo que esto debería resolver lo que te falta
Result =
IF ( ISBLANK( [Actual Start Time] ), BLANK(),
IF ( ABS ( [Actual Start Time] - [Planned Start Time] ) <= (30/60)/24, "OK", "NOT" ) ) )
Básicamente envolver valor absoluto (ABS) alrededor de la diferencia de tiempo por lo que sólo estará bien para
-30 < Diff < 30
También puede haber problemas con la forma en que se almacenan las horas de inicio reales y planificadas (tipo de datos). Si se trata de un tipo de datos Datetime formateado para que parezca una hora, puede actuar de forma diferente a un tipo de datos Time. Siempre puede crear una columna para [Hora de inicio real] - [Hora de inicio planificada] solo para ver cómo PBI está calculando ese valor.
Espero que esto ayude
David
Hola David,
Esto funcionó, gracias por todo su apoyo.
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 | |
2 | |
2 | |
2 | |
1 |