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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
M_OConnor
Helper I
Helper I

Evitar los valores 'cero' en un DAX cuando se han seleccionado varios en un filtro

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):

Table of DAta.PNG

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

Right Graph.PNG

Esto es lo que recibo.

Wrong Graph.PNG

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.

4 REPLIES 4
v-lionel-msft
Community Support
Community Support

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.

smarthp29
Helper I
Helper I

@M_OConnor

¿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.

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!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

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