cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Frequent Visitor

Retorno del éxito o fracaso basado en la comparación fecha/hora

Hola a todos,

Soy bastante nuevo en powerBI así que espero poder conseguir alguna dirección aquí.

Trabajo para una tienda en línea donde la promesa al cliente es que si realizan un pedido antes de las 18:00 se enviará el mismo día para la entrega del día siguiente. Quiero mostrar por fecha a la fecha que esa promesa se cumplió o no (si se cumplió: "Éxito" si no: "Fracaso"). Estaba pensando en mostrar esos datos en un gráfico de calendario. No puedo hacer que funcione.

Tengo una tabla de fechas que tiene una relación con la tabla con la fecha y hora del momento en que se empacó un pedido. Utilizo la tabla de fechas para rellenar el calendario y mostrar solo los pedidos empaquetados. Utilizo esto para mostrar cuántos pedidos se empacaron y enviaron cada día. Vea a continuación, por ejemplo.

Jogchum_0-1599151009380.png

Luego tengo otras dos tablas, una tiene la fecha/hora de la colocación del pedido (en una sola columna, con formato como: "*14-3-2001 13:30:55"). El otro tiene la fecha del pedido que se está embando. Para saber si se cumplió la promesa del cliente, necesito evaluar para cada día si la fecha/hora del pedido final de ese día es mayor que la fecha/hora de embalaje de 18:00 horas. Si es mayor, entonces el éxito, si no el fracaso.

Mi idea era usar la tabla de fechas para rellenar el objeto visual del calendario y, a continuación, usar la medida que devuelve "éxito" o "error" como datos. ¿Alguna idea de cómo hacer esto?

1 ACCEPTED SOLUTION

Hola @Jogchum ,

Si te entiendo correctamente, puedes usar la siguiente medida:

customer promise = VAR a = MAX('Picked and packed orderlines'[Ordernumber]) return IF(CALCULATE(MAX('Picked and packed orderlines'[OrderTime]),'Picked and packed orderlines'[Ordernumber] = a)>TIME(18,0,0),"Success","Failed")

Capture2.PNG

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

View solution in original post

10 REPLIES 10
Microsoft
Microsoft

Hola @Jogchum ,

¿Podría informarnos información más detallada (sus datos (archivo pbix de OneDrive para la Empresa)) si es posible? Entonces te ayudaremos más correctamente.

Por favor, enmascarar los datos confidenciales antes de cargar.

Gracias por su comprensión y apoyo.

Saludos

Dedmon Dai

Hola @v-deddai1-msft ,

Siento haberme tomado un tiempo para volver a usted y gracias por tratar de ayudar. Parece que no se me permite compartir con usuarios externos desde onedrive, así que aquí estoy un enlace de Google Drive: https://drive.google.com/file/d/16DSwoj675aAx8VopmeWzlWfIo4j7EQ_N/view?usp=sharing

La columna 'datum' es de la tabla de fechas y proporciona el contexto.

La columna 'Número de pedido' procede de la tabla 'Líneas de pedido empaquetadas y empaquetadas'. Cuenta hacia arriba con cada pedido recién realizado, por lo que el número más alto es el pedido más reciente.

La idea es que sólo quiero devolver 'éxito' o 'fracaso' para cada fecha única de la tabla de fechas basada en wether:

El último número de pedido empaquetado de ese día (número de pedido más alto) se colocó ese mismo día después de las 18:00 pm. Si ese es el caso, entonces el éxito, si no, el fracaso.

Espero que esto ayude. Gracias de nuevo.

Jogchum

Hola @Jogchum ,

Estoy confundido acerca de cuál es su pedido realizado columna de fecha y cuál es su orden de fecha empaquetada en su archivo pbix de muestra. ¿Podría darnos más detalles dando un ejemplo?

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

Hola @v-deddai1-msft ,

Ahora reconozco algo de lo que hice mal. ¡Agregué una tabla de fechas real esta vez! Luego creé una relación con "Total de horas por hora del día" que a su vez tiene una relación con 'Pedidos empaquetados' (que contiene la fecha/hora de cuándo se embala). Creo que esto me permite filtrar por fecha, pero también me permite ver dónde estábamos en cada hora o el día de trabajo.

En cuanto a la identificación de las columnas respectivas, vea la imagen a continuación.

Powerbi columns.jpg

El 27 de agosto no cumplimos con nuestra promesa de cliente porque el último pedido embalado se realizó el mismo día a las 17:50:40. Por lo tanto, el resultado para el 27 de agosto debería ser 'fallido'.

Enlace a la versión actualizada: https://drive.google.com/file/d/1WajYYQwk6bn5nuyeCesIaSXAbKDK3req/view?usp=sharing

Mejor

Jogchum

Hola @Jogchum ,

No puede obtener su archivo compartido, compruebe el permiso.

Saludos

Dedmon Dai

PermisoPermiso

Hola @Jogchum ,

He pasado mucho tiempo tratando de entender sus requisitos y modelos de datos. Pero estoy muy confundido, dices que el último pedido empaquetado se hizo el mismo día a las 17:50:40. Por lo tanto, el resultado para el 27 de agosto debería ser 'fallido'. ¿Qué columna muestra la hora en que se realizó el pedido?

Capture.PNG

Saludos

Dedmon Dai

Hola @v-deddai1-msft ,

Me doy cuenta de que estás pasando mucho tiempo en mi proyecto y estoy súper agradecido! Trataré de aclarar algunas cosas. La captura de pantalla de abajo muestra lo que quiero decir cuando digo que el orden final empaquetado del 27 de agosto se colocó a las 17:50:40.

Jogchum_0-1600086942136.png

Veo que está confundido con la diferencia entre la columna 'Allocatietijd' y 'Ordertime'. El colum 'Allocatietijd' le muestra cuando se ha asignado un pedido (tenemos más de un almacén de envíos para que nuestro pedido sea asignado por nuestro software de gestión de pedidos después de que un cliente realice el pedido). El tiempo de asignación no juega ningún papel en nuestra promesa del cliente, por lo que no es relevante. Sólo estamos mirando 'OrderTime'. También es la columna que se muestra en la captura de pantalla anterior.

Espero que esto aclare las cosas.

Gracias de nuevo,

Jogchum

Hola @Jogchum ,

Si te entiendo correctamente, puedes usar la siguiente medida:

customer promise = VAR a = MAX('Picked and packed orderlines'[Ordernumber]) return IF(CALCULATE(MAX('Picked and packed orderlines'[OrderTime]),'Picked and packed orderlines'[Ordernumber] = a)>TIME(18,0,0),"Success","Failed")

Capture2.PNG

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

View solution in original post

Hey @v-deddai1-msft ,

¡Sí, esto funciona! ¡Muchas gracias! He cambiado la fórmula y agregué algunas declaraciones if anidadas adicionales para comprobar si hay algunas situaciones adicionales (si es un fin de semana, si estamos retrasados para más de un día, si no hay datos en un día). Creo que todo funciona.

El objeto visual de calendario que estoy usando no muestra ningún texto (aparentemente ninguno de ellos lo hace), así que cambié la salida de la if-statement a 0 (fallido) y 1 (éxito).

Gracias de nuevo por todo tu esfuerzo, aprendí mucho.

Jogchum

Jogchum_1-1600196646174.pngJogchum_2-1600196727047.png

Helpful resources

Announcements
secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

Wave Release 2

Check out the updates in Power BI.

Overview of Power BI 2020 release wave 2!

Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.