Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola
Tengo dos mesas en una relación de muchos a muchos. Una tabla de L. MAT que enumera todos los componentes necesarios para crear una pieza terminada determinada (incluida la cantidad de cada pieza de componente) y una tabla que contiene todos los pedidos de compra de los componentes por fecha y proveedor. Las tablas están vinculadas por el identificador de pieza y la dirección del filtro transversal es Simple (tabla de Lista de Materiales filtra la tabla PO).
La razón por la que esto es many To Many es que si tuviera que seleccionar varios productos primarios para ver a la vez, puede haber varias instancias de la misma parte con diferentes cantidades y diferentes padres, y en el lado del pedido de compra, puede haber varios proveedores utilizados para comprar la misma parte en un día determinado.
Lo que me gustaría es tener una tabla donde puedo filtrar por pieza terminada y mostrar los precios medios por día para cada parte en la lista de materiales. Tengo la medida de precio promedio trabajada (mediante la edición de una medida rápida), pero yo donde me estoy quedando atascado está mostrando la cantidad de l. MAT individual para cada pieza. Cuando muesca la cantidad de la lista de materiales, me da la suma de todas las cantidades de pieza, en lugar de la cantidad para cada pieza como se muestra en la lista de materiales.
¿Alguien puede ayudarme con esto? No estoy seguro de si debo usar una medida o una columna calculada, y ninguno de mis intentos de usar Calcular/Filtrar, etc. parecen estar funcionando.
Avísame si necesito dar más información, ¡gracias!
Mi intento de esbozarlo:
Tabla de LDM
PartId | Qty | FinishedPartId |
A | 1.25 | 1 |
B | 5 | 1 |
C | 0.5 | 1 |
A | 2 | 2 |
D | 10 | 2 |
Tabla de PO
PartId | Fecha | Qty | Precio | Proveedor |
A | 1/1/2020 | 10 | 1.2 | 1 |
A | 1/2/2020 | 5 | 6 | 1 |
A | 1/2/2020 | 10 | 10 | 2 |
B | 1/3/2020 | 5 | 20 | 3 |
Tabla final deseada para el id de pieza terminada n.o 1
Actualmente, la columna Cantidad de LDM es la suma de los tres en cada columna.
FinishedPartId | PartId | Cantidad de LA lista de materiales | Fecha | Costo unitario ponderado Promedio |
1 | A | 1.25 | 1/1/2020 | 5 (no valor real) |
1 | B | 5 | 1/1/2020 | 5 |
1 | C | 0.5 | 1/1/2020 | 5 |
Hola, @larbpup
Me pregunto cuáles son los valores reales de 'Peso unitario costo medio'. Según su descripción, puede crear dos medidas y una columna calculada como se muestra a continuación.
Calculated columns:
TotalSales = PO[Qty]*PO[Price]
Measures:
DateMeasure =
var _id = SELECTEDVALUE(BOM[PartId])
var _tab=
CALCULATE(
CONCATENATEX(PO,PO[Date],","),
PO[PartId] = _id
)
return
_tab
Avg = AVERAGE(PO[TotalSales])
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola
Lo siento, debería haber aclarado, estaba usando los valores para el promedio ponderado en el post inicial como marcador de posición. Basado en algunas pruebas, creo que en mi modelo real esa parte está funcionando correctamente (aunque tal vez todavía está mal ya que el BOMQty parece ser la suma total en lugar de la cantidad por pieza).
Promedio ponderado:
PO_WeightedUnitCost =
DIVIDE(
SUMX( 'Purchase Orders',
CALCULATE(SUM('Purchase Orders'[UnitCost]) * SUM('Purchase Orders'[Qty]) * sum(BOM[BOMQty])) )
, SUMX( 'Purchase Orders'
, CALCULATE(SUM('Purchase Orders'[Qty])) ) )
Creo que también debería haber sido un poco más claro en los nombres de las columnas. Tengo el PO Qty y tengo la lista de materiales Qty, ambos se utilizan para cacular el precio promedio por día. El PO Qty es sólo para ayudar a ponderar el precio ya que puede haber varios precios para la misma parte en un día dado. Así que mi tabla de resultados es similar a la suya, pero me gustaría que la cantidad de la lista de materiales tuviera el valor correspondiente por pieza, en lugar de la suma de la cantidad de la lista de materiales para todas las piezas.
(52.46 es Cantidad total de la lista de materiales para todas las piezas de compra en la Parte terminada 1)
Acabado P/N | Comprar P/N | Fecha | Cantidad de LA lista de materiales | Costo unitario real promedio |
1 | A | 4/1/2020 | 52.46 | $9.20 |
1 | B | 4/1/2020 | 52.46 | $99.67 |
1 | C | 4/1/2020 | 52.46 | $13.48 |
1 | D | 4/1/2020 | 52.46 | $14.82 |
1 | E | 4/1/2020 | 52.46 | $1.30 |
1 | F | 4/1/2020 | 52.46 | $14.85 |
1 | G | 4/1/2020 | 52.46 | $1.20 |
Echaré un vistazo si tengo tiempo, pero las relaciones de muchos a varios son malas y deberías evitarlas a menos que realmente sepas lo que estás haciendo.
@Greg_Deckler Ok, sí puede que no sea la relación Muchos a Muchos que está causando mi problema esta vez, pero me pone nervioso. Trataré de ver si puedo reducir algunas cosas.
Gracias.