Multiplica dos columnas de diferentes tablas con una relación

Un usuario Pregunto ✅

caito103

Hola,

Llevo unos días trabajando con PowerBI, y estoy aquí de nuevo pidiendo ayuda.

Necesito multiplicar dos columnas («Cantidad» por «Litros») de dos tablas diferentes, pero esta multiplicación debe ser una celda por una celda donde cada una debe estar asociada a través de otras columnas (Producto y Cod.Producto, son las mismos ID (o clave) pero en diferentes tablas).

PRIMERA MESA

qBI1jSBiTp6ZVqeDS4c0iQ

SEGUNDA MESA

4o9kvMTGQdOpN7_HnHPURg

Probé con el siguiente código:

Cajas = CALCULAR(SUMX(Hoja2[Cantidad]*RELACION CON USUARIO(Hoja2[Producto];Pinchar[Cod. Producto])))

¿Se puede solucionar esto con CROSSJOIN, INNERJOIN o algo similar? Estoy realmente en problemas.

¡Muchas gracias!

Hola @caito103,

Suponga que Producto y Cod.Producto tienen una relación n: 1 (o 1: 1), entonces puede crear una relación entre esas dos tablas basadas en Producto y Cod.Producto. Consulte: Crear y administrar relaciones en Power BI Desktop.

q1.PNG

A continuación, cree una medida como la siguiente:

Medida = SUMA (Tabla 1[Cantidad])* SUMA(‘Tabla2′[Litros])

Otra forma es en el Editor de consultas, use Fusionar consultas para fusionar esas dos tablas en una tabla «Fusionada», consulte: Anexar frente a fusionar en Power BI y Power Query, luego cree una medida como la siguiente:

Medida2 = SUMA (Fusionada[Cantidad])* MAX(‘Fusionado'[Litros])

Consulte el archivo .pbix adjunto.

Atentamente,
qiuyun yu

Hola @caito103,

Suponga que Producto y Cod.Producto tienen una relación n: 1 (o 1: 1), entonces puede crear una relación entre esas dos tablas basadas en Producto y Cod.Producto. Consulte: Crear y administrar relaciones en Power BI Desktop.

q1.PNG

A continuación, cree una medida como la siguiente:

Medida = SUMA (Tabla 1[Cantidad])* SUMA(‘Tabla2′[Litros])

Otra forma es en el Editor de consultas, use Fusionar consultas para fusionar esas dos tablas en una tabla «Fusionada», consulte: Anexar frente a fusionar en Power BI y Power Query, luego cree una medida como la siguiente:

Medida2 = SUMA (Fusionada[Cantidad])* MAX(‘Fusionado'[Litros])

Consulte el archivo .pbix adjunto.

Atentamente,
qiuyun yu

En respuesta a v-qiuyu-msft

Esta respuesta puede no proporcionar el resultado deseado:

SUM(A * B) 

no es lo mismo que

SUM(A) * SUM(B)

Lo que tienes que hacer es:

  • Combine las tablas en PowerQuery y luego use SUMX para calcular el producto,
SUMX(MergedTable, [Cantidad]*[Litros])

  • O cree una relación en la vista Modelo y luego use NATURALINNERJOIN para unir las tablas y SUMX para calcular el producto.
SUMX(NATURALINNERJOIN(Table1,Table2), [Cantidad]*[Litros])

joachim haas

En respuesta a erwinpm

Muchas gracias por este consejo, me enfrenté a una tarea similar, usé la fórmula NATURALINNERJOIN, ¡funciona perfectamente! 🙂

cs_skit

Nueva columna para la primera tabla:

CantitadLitros = PrimeraMesa[Column2] * RELACIONADO(SegundaTabla[Column2])

correcto para los nombres de su tabla y columna, hice diferentes

la clave es la funcionalidad RELACIONADA

no se puede usar en todas partes si lo desea en una medida que necesita FILTER () DAX, es por eso que elegí la columna calculada aquí

necesita una relación en productid entre las dos tablas, por supuesto, para que esto funcione

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *