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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
flitvak
Helper I
Helper I

Variación respecto a periodo anterior (periodos discontinuos)

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

flitvak_0-1616788291671.png

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 %

flitvak_1-1616788674168.png

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,

 

 

 

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

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í:

 

% Aumento =
VAR currDate =
MAX ( OCA[Fecha de emisión] )
VAR prevDate =
CALCULATE (
MAX ( 'Tabla calendario'[Date] );
FILTER ( ALLSELECTED ('Tabla calendario'); 'Tabla calendario'[Date] < currDate && [MAX precio] <> BLANK () );
VALUES ( OCA[Artículo] )
)
VAR prevAmount =
CALCULATE (
max(OCA[Precio unitario sin descuentos UM compras]);
FILTER ( ALLSELECTED ( 'Tabla calendario' ); 'Tabla calendario'[Date] = prevDate );
VALUES ( OCA[Artículo] )
)
RETURN
DIVIDE ( max(OCA[Precio unitario sin descuentos UM compras]) - prevAmount; prevAmount )

 

 

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

Syndicate_Admin
Administrator
Administrator

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).

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

AugPowerBI_Carousel

Power BI Monthly Update - August 2024

Check out the August 2024 Power BI update to learn about new features.

August Carousel

Fabric Community Update - August 2024

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

Top Solution Authors
Top Kudoed Authors