Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Digamos que quiero mostrar un gráfico de barras que muestra el beneficio bruto año en año para las tiendas desglosadas en productos específicos.
Este es un ejemplo de algunos datos que tengo para tres tiendas. Digamos que venden motosierras (entre otras cosas):
He utilizado la siguiente lógica para crear esto... Que funciona en casi todas las situaciones que no sean el gráfico de barras:
Tenga en cuenta que debido a una forma en que he creado un subconjunto semanal/mensual, necesito que el valor del "año anterior" esté en los datos de origen, no calculado utilizando 'sameperiodlastyear...
Gross Profit = caulculate(sum(TABLE[Gross Profit This year]), unrelated conditions..)
Gross Profit Last year = caulculate(sum(TABLE[Gross Profit Last year]), unrelated conditions..)
Gross Profit YoY= = SWITCH(TRUE(),
[Gross Profit Last Year] = 0, BLANK(),
[Gross Profit Last Year] <> 0, calculate(([Gross Profit] -[Gross Profit Last Year]) / [Gross Profit Last Year]))
En mi gráfico de barras, he configurado el filtro visual para que no muestre interanual en blanco (ya que no hacer esto hace que las barras se queden en blanco).
Esto es lo que quiero si hago clic en La segmentación , Tienda 1, Tienda 2, Tienda 3
Esto es lo que recibo.
Pensé que mi código DAX habría causado que el valor YOY para las tiendas 1 y 3 se quedaría en blanco para las sierras de cadena, pero parece incluirlos porque la tienda 2 tiene un valor.
Sólo quiero que la tienda 2's YoY para mostrar, PERO quiero mantener la funcionalidad multi-selección, porque todas las tiendas pueden haber vendido baterías y bicicletas todavía. ¿Algún consejo desde Power BI?
Nota: Prefiero hacerlo en PBI que agregar una columna YoY en SQL siempre que sea posible - Es factible como último recurso, pero anticipo algunos otros aspectos del panel que necesitan hacer cosas a nivel de PBI.
Hola @M_OConnor ,
Intenta hacerlo usando la función DIVIDE ():
Gross Profit YoY =
DIVIDE(
[Gross Profit] -[Gross Profit Last Year],
[Gross Profit Last Year],
BLANK()
)
Saludos
Lionel Chen
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.
¿Qué pasa si ha creado otra columna de beneficio bruto que solo tiene valor si GP last year <>0
SI GP_LY 0 entonces 0 más GP
Así que su 3a columna sería
GP_Calculation del producto
Motosierra 0
Motosierra 417
Motosierra 0
Y luego esta columna para el cálculo
@smarthp29 Salud, lo intentaré y lo usaré exclusivamente cuando calcule a YoY. Te lo haré saber.
¿Esta columna sería algo en la capa de origen de datos o en una columna dax? Esto estaría bien, ya que no es el cálculo final.
Salud
Dependerá de cómo se actualicen los datos.
Por ejemplo, si obtiene transacciones con fecha de publicación, le sugeriría una columna calculada DAX. Si no, la columna configurada en el origen de datos siempre es la mejor opción. En caso de que no esté seguro, DAX Calculated Column debe implementarse para asegurarse de que lo prueba en el futuro.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.