Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
larbpup
Frequent Visitor

Sumar ayuda con muchas a muchas relaciones

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

PartIdQtyFinishedPartId
A1.251
B51
C0.51
A22
D102


Tabla de PO

PartIdFechaQtyPrecioProveedor
A1/1/2020101.21
A1/2/2020561
A1/2/202010102
B1/3/20205203



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.

FinishedPartIdPartIdCantidad de LA lista de materialesFechaCosto unitario ponderado Promedio
1A1.251/1/20205 (no valor real)
1B51/1/20205
1C0.51/1/20205
4 REPLIES 4
v-alq-msft
Community Support
Community Support

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:

f1.png

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/NComprar P/NFechaCantidad de LA lista de materialesCosto unitario real promedio
1A4/1/202052.46$9.20
1B4/1/202052.46$99.67
1C4/1/202052.46$13.48
1D4/1/202052.46$14.82
1E4/1/202052.46$1.30
1F4/1/202052.46$14.85
1G4/1/202052.46$1.20
Greg_Deckler
Super User
Super User

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.



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

@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.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors