Cálculo de la suma móvil del saldo de inventario de 12 meses

Un usuario Pregunto ✅

sofis

Mi objetivo final es calcular el promedio de inventario móvil de 12 meses. Tengo problemas para calcular la suma acumulada de 12 meses del saldo de mi inventario debido al formato de mi fuente de datos.

En enero de cada año tengo un saldo de inventario inicial y en los meses siguientes solo tengo los movimientos de inventario. (En verde se destacan los saldos de inventario de los años 2016 y 2017).

datos fuente

Pude calcular el saldo de inventario de cada mes usando la fórmula YTD

YTD Inventory = CALCULATE([Total Inventory], DATESYTD('Calendar'[Date]))
Pero cuando trato de usar esa medida para calcular la suma móvil de 12 meses, no funciona porque se reinicia al comienzo de cada año y solo agrega los movimientos, no el saldo de inventario.
También probé con la medida de Inventario Total pero no funciona
Total Inventory = SUM(Inventory[Inventory])
Esto es lo que quiero,
resultado deseado
y esto es lo que tengo actualmente
cálculos incorrectos
Aquí está mi libro de trabajo con los datos de muestra.
Agradecería cualquier ayuda y orientación sobre qué hacer a continuación.
Gracias,
sofi

Vvelarde

En respuesta a sofis

@sofigs

Hola, prueba con esto:

Paso 1: Una medida:

SumInventoryThisYear =
VAR _Fecha =
    SELECTEDVALUE ( Table1[Fecha] )
RETURN
    CALCULATE (
        SUM ( Table1[Inventario] ),
        FILTER (
            ALL ( Table1 ),
            Table1[Fecha] <= _Fecha
                && YEAR ( Table1[Fecha] ) = YEAR ( _Fecha )
        )
    )

2. Medida rodante:

Rolling =
VAR _Fecha =
    SELECTEDVALUE ( Table1[Fecha] )
VAR _Fecha_12MonthsBefore =
    EDATE ( SELECTEDVALUE ( Table1[Fecha] ), -12 )
VAR _Rolling =
    SUMX (
        FILTER (
            ALL ( Table1 ),
            Table1[Fecha] <= _Fecha
                && Table1[Fecha] > _Fecha_12MonthsBefore
        ),
        [SumInventoryThisYear]
    )
RETURN
    _Rolling

Saludos

Víctor

greg_deckler

Hay una medida rápida de promedio móvil, ¿has mirado eso?

sofis

En respuesta a greg_deckler

Acabo de probarlo pero no puedo usar la medida Quick Time Intelligence porque estoy usando una tabla de calendario externa.

Pero creo que tendría el mismo problema que tengo actualmente. Promediaría los movimientos de inventario, no el saldo mensual del inventario.

Creo que necesito guardar el saldo de inventario mensual final en algún lugar para poder usar mi medida de suma móvil en ese resultado, pero no tengo idea de cómo hacerlo.

Vvelarde

En respuesta a sofis

@sofigs

Hola, prueba con esto:

Paso 1: Una medida:

SumInventoryThisYear =
VAR _Fecha =
    SELECTEDVALUE ( Table1[Fecha] )
RETURN
    CALCULATE (
        SUM ( Table1[Inventario] ),
        FILTER (
            ALL ( Table1 ),
            Table1[Fecha] <= _Fecha
                && YEAR ( Table1[Fecha] ) = YEAR ( _Fecha )
        )
    )

2. Medida rodante:

Rolling =
VAR _Fecha =
    SELECTEDVALUE ( Table1[Fecha] )
VAR _Fecha_12MonthsBefore =
    EDATE ( SELECTEDVALUE ( Table1[Fecha] ), -12 )
VAR _Rolling =
    SUMX (
        FILTER (
            ALL ( Table1 ),
            Table1[Fecha] <= _Fecha
                && Table1[Fecha] > _Fecha_12MonthsBefore
        ),
        [SumInventoryThisYear]
    )
RETURN
    _Rolling

Saludos

Víctor

sofis

En respuesta a Vvelarde

¡Gracias Víctor! Eso funcionó perfectamente 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *