Buenas tarde, tengo el siguietne problema.
Tengo el siguiente modelo de datos

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)

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.

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!