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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
FrancoIVM
New Member

Multiplicar un valor filtrado por uno sin filtrar en sumx

Hola

Tengo una medida con las ventas del mes para diferentes productos y quiero multiplicarlo por otra medida que contenga el último valor de compra de estos productos, el problema es que las ventas están asociadas a (por ejemplo) un almacén X1 y el valor de compra es asociados con el lugar donde fueron recibidos, digamos que es el almacén X2. Por lo tanto, cuando quiero ver el [ventas]* [valor de compra] está en blanco porque no hay ningún valor de compra asociado con X1 (cuando im filtrado por X1).

Lo que hice fue que la medida [valor de compra] buscaba el valor de compra en todo el almacén con TODOS de la siguiente manera:
[Valor de compra] - CALCULATE(
LASTNONBLANKVALUE('table'[fecha],
SUM('table'[values])),
ALL('table'[almacén]))

Eso funcionó para mostrarme el último valor de compra de cada producto, pero al multiplicarlo en la forma:
[ventas] * [valor de compra]
Los totales se multiplican porque el cálculo no se está realizando fila por fila.
Pero hacerlo con SUMX en el camino:
SUMX ('tabla', [ventas] * [valor de compra])
El resultado vuelve a estar en blanco como si [valor de compra] no estuviera buscando los valores en todos los almacenes.

Podría usar ALL ('table' [almacén]) como esta:
CALCULATE (SUMX ('tabla', [ventas] * [valor de compra]), ALL ('tabla' [almacén]))
Pero estoy interesado en las ventas que se filtran a través del almacén seleccionado.

Así que me pregunto si hay una manera de que el [valor de compra] esté relacionado con todo el almacén o si alguien más encuentra otra solución.

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@FrancoIVM , si proceden del mismo cálculo de tabla, se deben realizar en el nivel de fila

se puede obtener un precio como

[Valor de compra] - CALCULATE(
LASTNONBLANKVALUE('table'[fecha],
SUM('table'[values])),
filter('table' , 'table'[almacén] á earlier('table'[warehouse])))

O

[Valor de compra] - CALCULATE(
LASTNONBLANKVALUE('table'[fecha],
SUM('table'[values])),
filter('table' , 'table'[item] á earlier('table'[item])))

o tener el nivel para usar valores

CALCULATE (SUMX (values('table'[?]), [ventas] * [valor de compra]), ALL ('tabla' [almacén]))

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@FrancoIVM , si proceden del mismo cálculo de tabla, se deben realizar en el nivel de fila

se puede obtener un precio como

[Valor de compra] - CALCULATE(
LASTNONBLANKVALUE('table'[fecha],
SUM('table'[values])),
filter('table' , 'table'[almacén] á earlier('table'[warehouse])))

O

[Valor de compra] - CALCULATE(
LASTNONBLANKVALUE('table'[fecha],
SUM('table'[values])),
filter('table' , 'table'[item] á earlier('table'[item])))

o tener el nivel para usar valores

CALCULATE (SUMX (values('table'[?]), [ventas] * [valor de compra]), ALL ('tabla' [almacén]))

Gracias,

La última alternativa funciona para mí,

CALCULATE (SUMX (values('table'[?]), [ventas] * [valor de compra]), ALL ('tabla' [almacén]))

El ALL ('tabla' [almacén]) no era necesario, cuando utilicé el Vale(table[items]) en lugar de la tabla, los filtros funcionan bien.

Estuve mucho tiempo en esto, ¡así que realmente ty!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.