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
Anonymous
Not applicable

Calcular el precio medio por artículo en dos tablas con iteración

Hola

Dos tablas simples:

1) Ventas: con número de Ventas con

  • Categoría (Categoría 1 - Categoría 3)
  • Años (2016-2019)
  • Secuencia de trabajo (WS1 -WS6)

2) SoldItems: con las piezas vendidas con

  • Categoría (Categoría 1 - Categoría 3)
  • Años (2016-2019)
  • Secuencia de trabajo (WS1 -WS6)

Obviamente, las tablas tienen la misma longitud.

Las tablas están conectadas a tres tablas de dimensiones para Años, Categoría, Secuencia de trabajo.

Quiero tener una medida que calcule el promedio de ventas por artículo (Ventas/Solditem).

Supongamos que no quiero combinar con Power Query, en lugar de usar medidas DAX.

Sé que algo como esto está mal, ya que no considera la iteración:

Z_Sales_p_Item = 
var A = SUM(tbl_SalesMargin[Sales])
var B = sum(tbl_SoldItems[SoldItems])
return DIVIDE(A;B)

Tiene que calcular correctamente incluso si mi tabla no muestra, por ejemplo, "Workstream", solo Años y Categoría.

¿Hay una solución?

Aquí están las imágenes de carga:

1) Si utilizo la fórmula anterior (lhs) y muestro toda la tabla, está bien:

1.png

2) Si expulso Workstream, entonces la medida en el lhs se vuelve incorrecta:

2.png

donde el rhs muestra los promedios correctos cuando se usa "combinar" en Power Query y usar alguna fórmula de AverargeX.

Aquí está el archivo:

https://1drv.ms/u/s!AlL0Z-uEr7s2ky16eAnjl6wblp2S?e=bNjo8C

6 REPLIES 6
amitchandak
Super User
Super User

@KG , estas fórmulas, y la estructura me parece bien, cuál es el problema que enfrenta si se puede compartir un ejemplo. El único cambio que puede probar es

Z_Sales_p_Item de la página de la inse
DIVIDE(SUM(tbl_SalesMargin[Sales]);sum(tbl_SoldItems[SoldItems]))

Anonymous
Not applicable

Gracias, @amitchandak, pero no. Esa es la misma fórmula que había escrito, sólo de manera diferente.

Subí dos fotos que podrían ayudar.

Lo que obtuve es que la tabla combinada está dando el resultado correcto y dos tablas con dimensión separada común no lo es.

Prueba esto

Z_Sales_p_Item = 
var A = SUM(tbl_SalesMargin[Sales])+0
var B = sum(tbl_SoldItems[SoldItems])+0
return DIVIDE(A;B)

Si es posible, ¿Puede compartir datos de ejemplo.

Anonymous
Not applicable

Gracias de nuevo, @amitchandak, pero eso no funciona.

Dejé un enlace al archivo en la publicación original.

@KG , Según mí lo que usted está llamando mal es correcto.

La división siempre debe ser sum(A)/Sum(B). Ellos uno que está llamando a la derecha está haciendo Avg(A/B). Que es simple Promedio de fila.

de todos modos creo una nueva fórmula para hacer eso.

El archivo se adjunta después de la firma

Anonymous
Not applicable

Su fórmula recién creada es exactamente lo que busqué, gracias @amitchandak .

Es posible que desee verificarlo en Excel, el simple Sum(A)/Sum(B) está agregando todas las ventas primero, y lo divide con todos los elementos agregados. No tiene en cuenta cada sales_per_item, que es diferente, y luego calcular el promedio. Ahora, con la fórmula, recorre correctamente la tabla, incluso si se omite un campo sin valor al mostrar.

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.