Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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.
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?
Solved! Go to 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")
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 @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.
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 @v-deddai1-msft
Disculpas, debería trabajar ahora.
https://drive.google.com/file/d/1WajYYQwk6bn5nuyeCesIaSXAbKDK3req/view?usp=sharing
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?
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.
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")
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
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