March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe 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
Buenas tardes, la empresa donde trabajo necesito realizar un informe con la variación porcentual de las materias primas a lo largo de los últimos tres años. El inconveniente es que las materias primas no suben todos los meses por lo que hay meses en los que no tengo datos.
Tabla de valores de materia prima
Columnas: Año/mes
Filas: Precios de diferentes materias primas
En la tabla se observa que por ejemplo durante octubre y noviembre 2020 no hubo actualización de precios.
Para los casos donde hay subas en meses consecutivos, no tuve problema con obtener los %
Es decir que en este caso me faltaría obtener la variación porcentual entre septiembre 2020 y diciembre 2020 (entre otros varios periodos).
Desde ya agradezco cualquier aporte!!!
Saludos,
Solved! Go to Solution.
No @flitvak,
Creo que es posible que deba utilizar la función Dax para averiguar la última fecha que existía valor válido en la tabla, a continuación, puede utilizar esto con el valor de categoría actual para buscar el valor correspondiente para compararlo con los valores actuales y anteriores.
measure =
VAR currDate =
MAX ( Table[Date] )
VAR prevDate =
CALCULATE (
MAX ( Table[Date] ),
FILTER ( ALLSELECTED ( Table ), [Date] < currDate && [Amount] <> BLANK () ),
VALUES ( Table[Category] )
)
VAR prevAmount =
CALCULATE (
SUM ( Table[Amount] ),
FILTER ( ALLSELECTED ( Table ), [Date] = prevDate ),
VALUES ( Table[Category] )
)
RETURN
DIVIDE ( SUM ( Table[Amount] ) - prevAmount, prevAmount )
saludos
Xiaoxin Sheng
No @flitvak,
Creo que es posible que deba utilizar la función Dax para averiguar la última fecha que existía valor válido en la tabla, a continuación, puede utilizar esto con el valor de categoría actual para buscar el valor correspondiente para compararlo con los valores actuales y anteriores.
measure =
VAR currDate =
MAX ( Table[Date] )
VAR prevDate =
CALCULATE (
MAX ( Table[Date] ),
FILTER ( ALLSELECTED ( Table ), [Date] < currDate && [Amount] <> BLANK () ),
VALUES ( Table[Category] )
)
VAR prevAmount =
CALCULATE (
SUM ( Table[Amount] ),
FILTER ( ALLSELECTED ( Table ), [Date] = prevDate ),
VALUES ( Table[Category] )
)
RETURN
DIVIDE ( SUM ( Table[Amount] ) - prevAmount, prevAmount )
saludos
Xiaoxin Sheng
Muchas gracias Xiaoxin por la ayuda!!! Era justo lo que necesitaba!!!
Nada más le adapté la fecha en la variable currDate y funcionó a la perfección. El código me quedó así:
No @flitvak,
Me alegra oír que mi fórmula ayuda. 😊
Si tiene algún otro requisito, puede sentirse libre de publicar aquí con información detallada.
saludos
Xiaoxin Sheng
Tenga una tabla separada con todos los meses (preferiblemente una tabla de calendario adecuada) y luego cree una medida que calcule para cada mes cuál es la última actualización de precios (ya sea para el mes actual o para el mes máximo que es menor que el mes actual).
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.