coreyp
Oigan todos,
Tengo lo que podría ser divertido para todos los expertos. Esto es lo que estoy tratando de hacer:
Si alguno de ustedes tiene experiencia en la gestión de almacenes, puede entenderlo de inmediato. Básicamente, estoy tratando de encontrar una forma de automatizar una secuencia de selección. Lo que quiero hacer es filtrar mi tabla de inventario para mostrar las tarimas que deben recogerse, en orden, hasta que se alcance la cantidad pedida.
En la siguiente imagen, puedes ver mi ejemplo. Entonces, la tabla de la izquierda es de mi tabla de pedidos. Tiene producto y cantidad pedida. La tabla de la derecha es el inventario. Cuando selecciono el producto de la izquierda, quiero que la tabla de la derecha devuelva todos los registros hasta esa flecha negra. (Sucede que es el total de la cantidad pedida, o 59 400). Ahora, si la cantidad pedida fuera 60 000, me gustaría que la tabla arrojara la siguiente fila, aunque el total sería 60 840. Por lo tanto, debe filtrarse por AL MENOS el total de la cantidad pedida, o todos los registros que existen si no tenemos más de los pedidos. Ahora, el truco es que esto tiene que ser recogido en secuencia, y lo hacemos por palet. Por lo tanto, creo que pase lo que pase, primero necesito poder clasificar la identificación de paleta por Lot_no, que es secuencial, y luego por FIFO_date. Básicamente, esto crearía una secuencia de selección por número de palet para cada producto solicitado. (Nota: las tablas de inventario y pedidos están conectadas a través de la tercera dimTable en Item_no)
Espero haber explicado esto correctamente. Si no, puedo intentar construir una muestra *.pbix con datos falsos ya que estoy usando información confidencial. ¡Gracias por toda la ayuda! =D
kentyler
Después de pensar en esto por un tiempo, parece un problema que debería resolverse en parte en el sistema de transacciones, en lugar de en power bi. He creado sistemas de listas de selección, cuando los sistemas de pedidos necesitan generar una lista de selección, debe haber un conjunto de registros que se adjuntan a la orden que enumeran las paletas que fueron «recogidas».
Después de la selección, parece que será necesario ajustar la cantidad de artículos en algunas paletas y eso probablemente también debería hacerse en la base de datos transaccional. Porque el próximo pedido del mismo artículo necesitará saber que los palets seleccionados anteriormente ya no están disponibles.
Me doy cuenta de que es posible que no tenga ese tipo de opciones sobre qué sistemas realizan qué acciones … pero es una pregunta interesante para pensar,
coreyp
En respuesta a kentyler
Estamos ejecutando un WMS bastante avanzado con muchas funciones.
Para lo que se utilizará este informe es para generar una lista de productos para un movimiento de inventario planificado desde ubicaciones con exceso de existencias a ubicaciones de selección anticipada. Esencialmente, quieren mover suficiente producto de las ubicaciones con exceso de existencias a las ubicaciones de piso, la noche antes de comenzar a recoger los pedidos, de modo que los recolectores no se vean retrasados por los reabastecimientos y no tengan que recoger con exceso de existencias.
kentyler
Lo que estás describiendo es bastante factible… pero tienes razón, es complejo. ¿Te gustaría hacer una sesión de video y revisar los pasos que debes seguir? Sería mucho más fácil que ir y venir en el correo electrónico.
Envíeme un correo electrónico a ken@8thfold.com con un buen momento para hablar y le enviaré una invitación de Zoom.
|
Power BI es fácil de aprender, pero tiene partes difíciles. |
coreyp
En respuesta a kentyler
Eso sería extremadamente útil, sin embargo, tengo limitaciones para compartir datos ya que es toda información confidencial.
¿Te importa si vamos paso a paso aquí?
Creo que lo primero que debemos hacer es crear una medida para Pallet Pick Sequence, que sería una medida RANKX de Pallet_ID, clasificada primero por el valor mínimo en LOT_NO, luego por el valor mínimo en FIFO_DATE. ¿Correcto?
kentyler
En respuesta a coreyp
No sé si necesitas una clasificación… Creo que simplemente ordenar la tabla te daría lo que quieres. Lo que necesitará es algún tipo de campo de índice para usar al hacer el total acumulado. Es posible que pueda usar la clasificación como un índice para pasar a la paleta «siguiente» cuando esté haciendo el total acumulado.
coreyp
En respuesta a kentyler
**editar**
Al investigar los totales acumulativos, veo que necesitaríamos una columna de índice. Y sí, para esta situación usaríamos el Rango de Paleta como nuestra columna de índice.
kentyler
En respuesta a coreyp
Una medida necesitará alguna forma de calcular su fila «anterior», ya que no hay un concepto integrado de números de fila en power bi. A veces, las personas usan fechas para esto, a menudo usan una columna de índice.
Una columna de índice implicaría que todos sus palets se clasificaron en el orden correcto.
Luego, su medida puede hacer una suma () de todas las filas con el índice> la fila en la que se está ejecutando
lo que implica que ha filtrado los registros para que contengan paletas con esa parte
coreyp
En respuesta a kentyler
Creé una «Clasificación de paletas» ingresando al editor de consultas y ordenando primero por SKU, luego por LOTE, luego por fecha FIFO y agregando una columna de índice.
Parece funcionar. Entonces, ¿cómo crearía la medida total acumulada? Intenté lo siguiente pero no funcionó:
kentyler
En respuesta a coreyp
kentyler
En respuesta a kentyler
Si solo devuelve el índice actual, ¿muestra el número correcto?
coreyp
En respuesta a kentyler
Esto es lo que devuelve:
Usando esta medida:
kentyler
En respuesta a coreyp
Intenta mover ALL() fuera de FILTER()
kentyler
En respuesta a kentyler
y puede acortar la declaración de filtro
coreyp
En respuesta a kentyler
Sigo sin progresar… estoy bastante seguro de que este enlace describe algo muy similar a lo que estoy tratando de hacer, simplemente no puedo hacer que funcione en mi contexto.
https://forum.enterprisedna.co/t/running-totals-on-a-measure-with-no-index-or-date-column/147/7
kentyler
En respuesta a coreyp
Conozco el sentimiento. No puede parecer imposible. Sólo hay un pequeño detalle que tenemos que encontrar.
Si solo escribe la medida Rankx (siguiendo su ejemplo) en una medida y la pone en una tabla, ¿qué devuelve?
coreyp
En respuesta a kentyler
Eso no parece estar funcionando. Simplemente devuelve 1 para cada valor. ¿Tenemos que tomar item_no en contexto de alguna manera?
kentyler
En respuesta a kentyler
Entonces
Si sus pedidos estaban en relación con su inventario.
Y creaste una cortadora para tus pedidos.
Cuando seleccionó un pedido en la segmentación.
Filtraría su inventario.
Si tuviera su tabla de inventario ordenada por palet id por Lot_no primero, que es secuencial, y luego por FIFO_date, entonces podría crear un «total acumulado» para cada producto, y podría ver cuántos palés necesitaba recoger para alcanzar el número que necesita el pedido.
Entonces la pregunta es, ¿cómo desea transmitir/imprimir la lista de selección al almacén?
coreyp
En respuesta a kentyler
Sí, también necesitamos crear una medida total acumulada, para que podamos comparar con la cantidad pedida.
Y sí, tengo una relación entre los pedidos y el inventario a través de una tabla maestra item_no.