cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
Petazo_
Frequent Visitor

Rendimiento y funcionalidad de la formula DAX

Buenas tarde, tengo el siguietne problema.

 

Tengo el siguiente modelo de datos

 

Petazo__0-1691003424052.png

 

La tabla Lista de precios es una tabla con aproximaadamente 12 millones de registros, ya que son códigos sku y fechas, mientras que la tabla IPC SKC tiene un subcojunto de códigos que se quieren evaluar la evolucion de precios en el tiempo.

 

Para ello realicé la siguiente tabla (como visualización)

 

Petazo__1-1691003590226.png

 

Las ultimas 2 forimulas lo que buscan es la variacion de la columna Precio LP respcto de la anterior, está construida de la sigueitne manera:

 

Variacion ($) Precios =
var _pre=
CALCULATE(
                   MAX('Listas de Precios'[fecha_creacion_lp]),
                           FILTER(ALL('Listas de Precios'),
                          'Listas de Precios'[Clave 1]=MIN('Listas de Precios'[Clave 1]) &&
                          'Listas de Precios'[fecha_creacion_lp]<MIN('Listas de Precios'[fecha_creacion_lp])
)
)
 
var _preRES=
CALCULATE(
                    MAX('Listas de Precios'[Precio LP]),
                    FILTER(ALL('Listas de Precios'),
                    'Listas de Precios'[Clave 1]=MIN('Listas de Precios'[Clave 1]) &&
                    'Listas de Precios'[fecha_creacion_lp]=_pre))
 
return
IF(
    ISBLANK( _preRES),
    BLANK(),
    MIN('Listas de Precios'[Precio LP])-_preRES)
y la segunda es porcentual
 
Variacion (%) Precios =
var _pre=
CALCULATE(
                   MAX('Listas de Precios'[fecha_creacion_lp]),
                    FILTER(ALL('Listas de Precios'),
                    'Listas de Precios'[Clave 1] =MIN('Listas de Precios'[Clave 1]) &&
                    'Listas de Precios'[fecha_creacion_lp]<MIN('Listas de Precios'[fecha_creacion_lp])
)
)
 
var _preRES=
CALCULATE(
                   MAX('Listas de Precios'[Precio LP]),
                   FILTER(
                   ALL('Listas de Precios'),'Listas de Precios'[Clave 1]=MIN('Listas de Precios'[Clave 1]) &&
                   'Listas de Precios'[fecha_creacion_lp]=_pre))
 
return
IF(
ISBLANK( _preRES),
BLANK(),
DIVIDE( MIN('Listas de Precios'[Precio LP]),_preRES)-1)
 
Los resultados dan correctos, tal y como se observa en la tabla resultante, sin embargo al agregar estas dos 2 medidas el rendimiento es notablemente mas lento, ya sea al filtrar algo, al expandir o contraer lavisualizacion etc. y el segundo problema que presento es que al contraer la tabla, los resultados son erróneos.
 
Petazo__2-1691004478709.png

 

Entonces quisiera ayuda en 2 temas (ordenados por prioridad)

 

1.- Mejorar el rendimiento de la medida creada
2.- Corrigir la medida para que al agrupar/contraer la visualizacion calcule correctamente la variacion en $ y %

desde ya muchas gracias!

 

0 REPLIES 0

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors