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

Don'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.

Reply
Syndicate_Admin
Administrator
Administrator

Medir la ayuda necesaria - Suma de totales

Hola

Acabo de tener una pregunta sobre una medida que estoy utilizando para mostrar esencialmente el cambio en el precio de venta promedio en comparación con el año pasado.

La medida funciona correctamente para cada línea de artículo individual, sin embargo, en los totales, no suma las líneas individuales y, en cambio, parece estar ejecutando la medida en los totales de la columna de ventas y cantidad (como se muestra en la primera imagen a continuación). He leído algo de información sobre por qué está ocurriendo esto, pero no he tenido suerte para resolverlo.

Pablo_Ross_0-1726312896640.png

¿Alguien puede ayudarme con la forma en que ajustaría mi medida para resolver esto? Se lo agradezco enormemente.

La medida que estoy usando es la siguiente:

Impacto en el precio de Priv Home O2 =
VAR LY_Sales = [Priv Home O2 Sales PY]
VAR CY_Sales = [Priv Home O2 Sales CY]
VAR LY_Quantity = [Priv Home O2 Cantidad PY]
VAR CY_Quantity = [Priv Home O2 Cantidad CY]
VAR LY_Price_Per_Unit = [Priv Home O2 LY_ASP]
VAR CY_Price_Per_Unit = [Priv Home O2 CY_ASP]

DEVOLUCIÓN
SI(
ISBLANK(CY_Quantity),
Espacio en blanco() ,
SI(
ISBLANK(LY_Sales) y ISBLANK(CY_Sales),
Espacio en blanco() ,
SI(
ISBLANK(LY_Sales) || LY_Quantity = 0,
SI(
NO ISBLANK(CY_Price_Per_Unit),
CY_Price_Per_Unit * LY_Quantity,
Espacio en blanco()
),
SI(
ISBLANK(CY_Sales) || CY_Quantity = 0,
SI(
NO ISBLANK(LY_Price_Per_Unit),
LY_Price_Per_Unit * LY_Quantity,
Espacio en blanco()
),
(CY_Price_Per_Unit - LY_Price_Per_Unit) * LY_Quantity
)
)
))

He incluido aquí algunos datos reales: https://docs.google.com/spreadsheets/d/1nbXUvosvvRECTovXmcoegJo03CXssq4MsPfo2HZ893I/edit?gid=2100307...

Que compara las ventas y la cantidad vendida del año en curso con el año anterior (junio a junio), específicamente para mi conjunto de datos de O2 en el hogar privado. Si bien los datos de ventas son reales, obviamente solo he aleatorio los números de artículo, los nombres de los clientes, etc.

También he incluido los valores esperados en la columna de impacto en el precio, que de nuevo, no tengo ningún problema en BI para crear la medida para estas líneas individuales.

también he incluido (resaltado en amarillo) el total que espero usando una fórmula SUM simple - Esta es la parte que estoy luchando por replicar en BI.
Por favor, háganme saber si alguien puede ayudarme con una medida específica para ajustar mi metodología existente anterior para alcanzar este total esperado.
¡Agradezco la asistencia como siempre!
Gracias.
2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Pablo_Ross

Estoy de acuerdo con @MNedix , podría haber usado la declaración switch en lugar de IF anidado.

para corregir sus totales, debe usar una función iteradora como SUMX. Así

Priv Home O2 Price Impact =

SUMX( <Put your fact table name>,
VAR LY_Sales = [Priv Home O2 Sales PY]
VAR CY_Sales = [Priv Home O2 Sales CY]
VAR LY_Quantity = [Priv Home O2 Quantity PY]
VAR CY_Quantity = [Priv Home O2 Quantity CY]
VAR LY_Price_Per_Unit = [Priv Home O2 LY_ASP]
VAR CY_Price_Per_Unit = [Priv Home O2 CY_ASP]

Return
IF(
ISBLANK(CY_Quantity),
Blank() ,
IF(
ISBLANK(LY_Sales) && ISBLANK(CY_Sales),
Blank() ,
IF(
ISBLANK(LY_Sales) || LY_Quantity = 0,
IF(
NOT ISBLANK(CY_Price_Per_Unit),
CY_Price_Per_Unit * LY_Quantity,
Blank()
),
IF(
ISBLANK(CY_Sales) || CY_Quantity = 0,
IF(
NOT ISBLANK(LY_Price_Per_Unit),
LY_Price_Per_Unit * LY_Quantity,
Blank()
),
(CY_Price_Per_Unit - LY_Price_Per_Unit) * LY_Quantity
)
)
))
 
)

¿Necesita una consulta de Power BI? Contrátame en Upwork

Conéctate en LinkedIn








¿He respondido a tu pregunta? ¡Marca mi publicación como una solución!
Si te ayudé, haz clic en el pulgar hacia arriba para dar felicitaciones.

¡Orgulloso de ser un Súper Usuario!


PBI_SuperUser_Rank@2x.png
Syndicate_Admin
Administrator
Administrator

Hola,

La captura de pantalla es muy pequeña, no puedo hacer nada con ella. Sin embargo, como regla general, trato de mantenerme alejado de la función IF anidada (siempre cometo un error en el anidamiento). Intente usar SWITCH en su lugar, es más flexible y más claro.

Si resolvió su problema, márquelo como la solución para que otros puedan verlo.

Mejor

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!

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