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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

El cambio del código PY DAX no es correcto para algunos registros

Hola

Mi medida para "Cambio de PY" no es correcta para algunos registros de 2021 y 2022. Por ejemplo: Apple, Full, 2022, Change debe ser -9. Pera, Parte, 2021, El cambio debe ser -1. Pera, Full, 2022, El cambio debe ser -10.

¿Qué problema tiene mi código DAX actual? Creé una tabla de calendario y conecté 'Calendario' [Año] a 'Hoja1' [Año].

Capture.JPG

PY-DAX-está-mal.pbix

Calendar = CALENDAR(DATE(2020,1,1),DATE(2022,12,31))
Year = YEAR('Calendar'[Date])
newCount = CALCULATE(SUM(Sheet1[Count]))+0
Change from PY = 
VAR
    vCY = MAX('Calendar'[Year])
VAR vPYAmount =
    CALCULATE([newCount],'Calendar'[Year]=vCY - 1)
VAR vCYAmount =
    CALCULATE([newCount])
VAR Result =
    vCYAmount - vPYAmount
RETURN Result
GrupoTipoMétricoContarAño
AManzanaLleno52020
AManzanaLleno92021
AManzanaParte22022
BPeraParte12020
BPeraLleno102021
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @dragon2

El DAX no es el problema.

El problema está en tu relación (de muchos a muchos).

En su lugar, creé una columna caculada en su tabla Sheet1: Fecha = FECHA( [Año], 1, 1 )

Úsalo en tu relación con tu tabla de fechas.
Avísame si tienes alguna pregunta.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

Descargue el archivo PBI desde aquí.

Espero que esto ayude.

Ashish_Excel_0-1747537079051.png

Syndicate_Admin
Administrator
Administrator

Hi, @gmsamborn

Usando sus datos de muestra como referencia, creé una tabla simple. Luego, para generar la columna que necesita, agregué una columna calculada usando la siguiente fórmula:

Cambiar de PY =
VAR CY_Type = 'Fruta'[Tipo]
VAR CY = 'Fruta'[Año]
VAR CY_Metric = 'Fruta'[métrica]
VAR CY_Amount ='Fruta'[NewCount]
VAR PY_Amount_ =
CALCULAR(
SUMA('Fruta'[NewCount]),
FILTRO(
TODO('Fruta'),
'Fruta'[Tipo] = CY_Type && 'Fruta'[métrica] = CY_Metric &&
'Fruta'[Año] = CY - 1
)
)
VAR PY_amount = SI(ISBLANK(PY_Amount_),
0,
PY_Amount_
)
DEVOLUCIÓN
CY_Amount - PY_amount
Elena_Kalina_1-1747419466541.png

Creo que esto debería darte exactamente lo que estabas buscando.

Si esta publicación ayuda, entonces considere Aceptar como solución para ayudar a los otros miembros a encontrarlo más rápidamente, no olvide dar un "Felicitaciones", ¡realmente lo apreciaría!

Gracias.

Syndicate_Admin
Administrator
Administrator

Hola @dragon2

El DAX no es el problema.

El problema está en tu relación (de muchos a muchos).

En su lugar, creé una columna caculada en su tabla Sheet1: Fecha = FECHA( [Año], 1, 1 )

Úsalo en tu relación con tu tabla de fechas.
Avísame si tienes alguna pregunta.

Muchas gracias.

Por alguna razón, con mis datos acutales, esto no funcionaba. Entonces, en lugar de hacer la tabla de calendario que compartí originalmente, hice una nueva tabla como esta:

newCalendar = DISTINCT(Sheet1[Year])

Luego hice una relación de 1 a muchos en esta tabla y hoja1[Año]. Funcionó perfectamente después de eso.

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

May 2025 Monthly Update

Fabric Community Update - May 2025

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

Top Solution Authors