Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola a todos
Me gustaría obtener algún tipo de diagrama sankey para un proyecto de enrutamiento en el que estoy trabajando. Para fabricar un producto hay un matl campo obligatorio y en otra mesa tengo la cantidad de ese artículo a mano en cada uno de los almacenes.
¿Hay alguna manera de decir si Houston tiene suficiente cantidad a mano para cubrir el matl requerido y luego enviarlo allí y si no enviarlo a Knoxville? He adjuntado un correo electrónico a continuación, pero el ejemplo sería:
Dado que el artículo 315HSS requiere 8unidades, primero comprobar Houston (que tiene 0 a la mano) y ya que no cumple con el pedido y Knoxville puede, a continuación, enviarlo allí?
Tabla 1
Artículo | Subcomponente | Matl Qty |
A | 315HSS | 20 |
A | 320PSSGS | 15 |
A | 320PSSGS316 | 30 |
A | 325DCSSB | 8 |
A | 325GSKBUMS | 50 |
Tabla 2
Subcomponente | Almacén | Qty On Hand |
315HSS | Knoxville | 50 |
320PSSGS | Houston | 3 |
320PSSGS | Knoxville | 50 |
320PSSGS316 | Houston | 60 |
320PSSGS317 | Knoxville | 90 |
325DCSSB | Houston | 10 |
325DCSSB | Knoxville | 20 |
325GSKBUMS | Houston | 30 |
325GSKBUMS | Knoxville | 60 |
Así que las respuestas serían
315HSS ---> 0 Houston ----> 20 Knoxville
210PSSGS ---> 3 Houston ---> 12 Knoxville
320PSSHS316 ---> 30 Houston
325DCSSB ---> 8 Houston
325GSKBUMS ---> 30 Houston ---> 20 Knoxville
Solved! Go to Solution.
Probablemente haya un enfoque más elegante en el que se agrega una tabla con almacén y el orden en el que se deben tener en cuenta. Este es un enfoque codificado de forma rígida. Con los dos almacenes, el IF funcionó porque si no era el primer almacén, era el otro. Para agregar más (codificado duro), debe utilizar una función SWITCH, con el IF adecuado para cada
devolución
SWITCH(SELECTEDVALUE(QOH[whse]),
"Houston", IF(...
"Knoxville", IF(...
"Cleveland", IF(...
Para Cleveland, su IF compararía "necesario" con la suma de Houston y Knoxville.
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Un par de cambios. Cleveland tenía un error tipográfico y actualizó la fórmula (Knoxville IF falta el tercer término).
Oficina de Almacén (Warehouse Office)
VAR necesario ?
SUM ( 'Inv Bagging'[matl required] )
VA houstonamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Houston" )
DONDE knoxvilleamt ?
CALCULATE ( SUM ( QOH[qty on hand] ), QOH[whse] á "Knoxville" )
DONDE clevelandamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Cleveland" )
devolución
SWITCH(SELECTEDVALUE(QOH[whse]),
"Houston", IF(needed > houstonamt, houstonamt, needed ),
"Knoxville", IF( needed - houstonamt > knoxvilleamt, knoxvilleamt, needed - houstonamt),
"Cleveland", IF((needed - houstonamt - knoxvilleamt) > clevelandamt, clevelandamt, needed - houstonamt - knoxvilleamt)
)
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Suponiendo que tiene una relación en Subcomponente entre las tablas, puede hacer un objeto visual de matriz con Table1[Subcomponent] en filas, Table2[Warehouse] en columnas y esta medida.
Almacén Amt ?
VAR necesario ?
SUM ( Tabla1[Matl Qty] )
VA houstonamt ?
CALCULATE ( SUM ( Table2[Cantidad a mano] ), Table2[Almacén] - "Houston" )
VAR knoxvilleamt ?
CALCULATE ( SUM ( Table2[Cantidad a mano] ), Table2[Almacén] - "Knoxville" )
devolución
SI (
SELECTEDVALUE ( Table2[Almacén] ) - "Houston",
IF ( necesario > houstonamt, houstonamt, necesario ),
IF ( necesario > houstonamt, necesario - houstonamt, 0 )
)
Para obtener este resultado (lo mostré en una matriz, pero podría usar el mismo en un Sankey)
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat ¡Gracias!
Si necesito agregar un tercer almacén, ¿se ve así:
Probablemente haya un enfoque más elegante en el que se agrega una tabla con almacén y el orden en el que se deben tener en cuenta. Este es un enfoque codificado de forma rígida. Con los dos almacenes, el IF funcionó porque si no era el primer almacén, era el otro. Para agregar más (codificado duro), debe utilizar una función SWITCH, con el IF adecuado para cada
devolución
SWITCH(SELECTEDVALUE(QOH[whse]),
"Houston", IF(...
"Knoxville", IF(...
"Cleveland", IF(...
Para Cleveland, su IF compararía "necesario" con la suma de Houston y Knoxville.
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat Traté de construirlo de esta manera y no estoy recibiendo los números correctos. ¿Alguna idea de última hora sobre adónde me voy mal? Parece que me estoy saltando Knoxville, pero en teoría me gustaría que revisara Houston, luego Knoxville y luego Cleveland con lo que queda.
Almacén Amt ?
VAR necesario ?
SUM ( 'Inv Bagging'[matl required] )
VA houstonamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Houston" )
VAR knoxvilleamt ?
CALCULATE ( SUM ( QOH[qty on hand] ), QOH[whse] á "Knoxville" )
VAR clevelandamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Cleveland" )
devolución
SWITCH(SELECTEDVALUE(QOH[whse]),
"Houston", IF(needed > houstonamt, houstonamt, needed ),
"Knoxville", IF( needed - houstonamt > knoxvilleamt, needed - houstonamt - knoxvilleamt),
"Cleaveland", IF((needed - houstonamt - knoxvilleamt) > (houstonamt+knoxvilleamt), needed - houstonamt - knoxvilleamt - clevelandamt,0)
)
Los 3 valores de almacén están a continuación
Tabla 1
Subcomponente | Material Req |
283139 | 11551.53 |
283187 | 929.8408 |
283210 | 5208.618 |
283250 | 4426.374 |
283275 | 144989.9 |
315GSKBUMS | 3226 |
H70110 | 245069 |
Subcomponente | Whse | qty a mano |
283139 | Cleveland | 28 |
283139 | Houston | 16665.65 |
283187 | Cleveland | 10 |
283187 | Houston | 2441.944 |
283210 | Cleveland | 10 |
283210 | Houston | 8631.955 |
283250 | Cleveland | 10 |
283250 | Houston | 4797.266 |
283275 | Cleveland | 10 |
283275 | Houston | 13938.26 |
315GSKBUMS | Cleveland | 0 |
315GSKBUMS | Houston | 1220 |
315GSKBUMS | Knoxville | 12589 |
H70110 | Cleveland | 108999 |
H70110 | Houston | 235646 |
H70110 | Knoxville | 0 |
Salida final:
0283139 -- > 11551.53 Houston
0283187 --> 929.84 Houston
0283210 --> 5208.62 Houston
0283250 --> 4426.37 Houston
0283275 --> 12938.26 Houston --> 0 Knoxville --> 10 Cleveland --> 131041.67 Sobras
315GSKBUM --> 1220 Houston -->2006 Knoxville
H70110 --> 235646 Houston --> 0 Knoxville -->9423 Cleveland
Esos datos deben entregar todos los escenarios que podrían provenir de su enrutamiento.
Un par de cambios. Cleveland tenía un error tipográfico y actualizó la fórmula (Knoxville IF falta el tercer término).
Oficina de Almacén (Warehouse Office)
VAR necesario ?
SUM ( 'Inv Bagging'[matl required] )
VA houstonamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Houston" )
DONDE knoxvilleamt ?
CALCULATE ( SUM ( QOH[qty on hand] ), QOH[whse] á "Knoxville" )
DONDE clevelandamt ?
CALCULATE ( SUM ( QOH[cantidad a mano] ), QOH[whse] - "Cleveland" )
devolución
SWITCH(SELECTEDVALUE(QOH[whse]),
"Houston", IF(needed > houstonamt, houstonamt, needed ),
"Knoxville", IF( needed - houstonamt > knoxvilleamt, knoxvilleamt, needed - houstonamt),
"Cleveland", IF((needed - houstonamt - knoxvilleamt) > clevelandamt, clevelandamt, needed - houstonamt - knoxvilleamt)
)
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat Muchas gracias. Esto es perfecto. Lo tiré en otro cálculo para decir si esa medida era < 0 entonces hacerlo 0 porque estaba proporcionando - valores para Cleveland, pero aparte de que cumple lo que estoy tratando de!
@mahoneypat Se metió en un problema con el cálculo de abajo. Dice que se produjo un parámetro inesperado:
@longhorn09 será más fácil si comparte cómo se ve su tabla de datos, mucho dependerá de eso, la visualización es una parte fácil.
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
@parry2k Actualizado con la estructura de mis datos y el enrutamiento por el que pasaría el proceso. ¡Agradezco la ayuda!