The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
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).
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.