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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
ca1uvm
Regular Visitor

Control de Inventario

Buenas tardes,

Estoy solicitando su asistencia para un proyecto que implica la administración del inventario de varios productos. La idea principal es crear una medida DAX para Power BI que permita el seguimiento diario de nuestro inventario, utilizando una serie de datos que reflejan nuestro control de inventario.

Utilizamos varias tablas para recopilar la información necesaria, que incluyen:

  1. La tabla "Calendario", que proporciona la "Fecha del día".
  2. La tabla "Inicial Angamos", que nos ayuda a calcular el "Saldo Inicial" usando la fórmula: Saldo Inicial = SUM('Inicial Angamos'[Inicial]).
  3. La tabla "Guías Mes", que nos proporciona el valor de "Recibido" usando la fórmula: Recibido = SUM('Guías Mes'[Peso_neto]) / 1000.
  4. Finalmente, la tabla "Reporte SOC", que nos permite calcular "Exterior" mediante: Exterior = SUM('Reporte SOC'[Peso Neto]).

Estas tablas se conectan entre sí y con otras tablas relevantes por medio de "Fecha" y "Cod.Producto", permitiéndonos obtener una visión integral de nuestro inventario.

Con estos datos, calculamos el stock de la siguiente manera: saldo inicial + recibido - exterior = stock. Este cálculo se aplica de manera sucesiva, con el stock del día anterior pasando al siguiente día del mes.

Para ilustrarlo:

El primer día del mes, establecemos el saldo inicial. A partir de ahí, cada día se calcula de la siguiente forma: el stock del día anterior + recibido – exterior = stock del día presente. Esta operación se repite sucesivamente para todos los días del mes, arrastrando siempre el stock del día anterior al siguiente.

adjunto imagenes como deberia funcionar:

ca1uvm_1-1687902671361.png

la medida que estaba creando es :

Stock =
VAR ProductoActual = SELECTEDVALUE('Grupos materiales'[Cod.Producto])
VAR FechaActual = MAX('Calendario'[Fecha])
VAR RecibidoHastaFecha = CALCULATE([Recibido], 'Calendario'[Fecha] <= FechaActual)
VAR ExteriorHastaFecha = CALCULATE([Exterior], 'Calendario'[Fecha] <= FechaActual)

VAR StockPrevio =
    CALCULATE(
        [Recibido] - [Exterior],
        ALL('Calendario'),
        'Calendario'[Fecha] < FechaActual,
        'Grupos materiales'[Cod.Producto] = ProductoActual
    )

RETURN
IF (
    ISBLANK(StockPrevio),
    RecibidoHastaFecha - ExteriorHastaFecha,
    StockPrevio + [Recibido] - [Exterior]
)
pero no esta funcionando como quiero:
ca1uvm_2-1687902754315.png

adjunto el modelo de datos

ca1uvm_3-1687902863232.png

desde ya muchas gracias

quedo atento 🙂 

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin , Pruebe medidas como

Inventario / OnHand
[Inventario inicial] + CALCULAR(SUMA(Tabla[Pedido]),filtro(fecha,fecha[fecha] <=maxx(fecha,fecha[fecha]))) - CALCULAR(SUMA(Tabla[Vendido]),filtro(fecha,fecha[fecha] <=maxx(fecha,fecha[fecha])))


Inventario / OnHand
CALCULATE(firstnonblankvalue('Date'[Month]),sum(Table[Intial Inventory]),all('Date')) + CALCULATE(SUM(Table[Ordered]),filter(date,date[date] <=maxx(date,date[date]))) - CALCULATE(SUM(Table[Sold]),filter(date,date[date] <=maxx(date,date[date])))

recomienda

Inventario de Power BI disponible: https://youtu.be/nKbJ9Cpb-Aw

View solution in original post

Encontré la solución con esta medida y resultó ser más sencilla de lo que pensaba. Quiero agradecer a quienes me guiaron durante el proceso de resolución. ¡Muchas gracias!

Aquí les dejo la solución:

Stock = ROUND( CALCULATE( SUM('Inicial '[Inicial]) + SUM('Guías '[Peso_neto])/1000 - SUM('SOC'[Peso Neto]), FILTER( ALLSELECTED(Calendario[Fecha].[Día]), Calendario[Fecha].[Día] <= MAX(Calendario[Fecha].[Día]) ) ), 2 )

 

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin , Pruebe medidas como

Inventario / OnHand
[Inventario inicial] + CALCULAR(SUMA(Tabla[Pedido]),filtro(fecha,fecha[fecha] <=maxx(fecha,fecha[fecha]))) - CALCULAR(SUMA(Tabla[Vendido]),filtro(fecha,fecha[fecha] <=maxx(fecha,fecha[fecha])))


Inventario / OnHand
CALCULATE(firstnonblankvalue('Date'[Month]),sum(Table[Intial Inventory]),all('Date')) + CALCULATE(SUM(Table[Ordered]),filter(date,date[date] <=maxx(date,date[date]))) - CALCULATE(SUM(Table[Sold]),filter(date,date[date] <=maxx(date,date[date])))

recomienda

Inventario de Power BI disponible: https://youtu.be/nKbJ9Cpb-Aw

Estoy teniendo problemas con la siguiente medida:

Stock =
CALCULATE(
    FIRSTNONBLANKVALUE(Calendario[Fecha], SUM('Inicial Angamos'[Inicial])),
    ALL(Calendario)
)
+ CALCULATE(
    SUM('Guías Mes'[Peso_neto])/1000,
    FILTER(
        ALL(Calendario),
        Calendario[Fecha] <= MAXX(Calendario, Calendario[Fecha])
    )
)
- CALCULATE(
    SUM('Reporte SOC'[Peso Neto]),
    FILTER(
        all(Calendario),
        Calendario[Fecha] <= MAXX(Calendario, Calendario[Fecha])
    )
)
ca1uvm_0-1687962651525.png

Por ejemplo, para el producto 11, el stock inicial es de 49,395. Sin embargo, el valor que obtengo con esta medida es diferente. Debido a que no hubo entradas ni salidas, el stock debería seguir siendo 49,395. Este valor debería mantenerse hasta el día 23. El 24 se recibieron 25,423 unidades, por lo que el stock para ese día debería ser 74,818. Para el día 25, se añadieron 24,956 unidades al stock del día anterior, por lo que el stock total hasta hoy debería ser 99,774. Sin embargo, la medida me está dando otros valores. ¿Podrías ayudarme a entender por qué?

Encontré la solución con esta medida y resultó ser más sencilla de lo que pensaba. Quiero agradecer a quienes me guiaron durante el proceso de resolución. ¡Muchas gracias!

Aquí les dejo la solución:

Stock = ROUND( CALCULATE( SUM('Inicial '[Inicial]) + SUM('Guías '[Peso_neto])/1000 - SUM('SOC'[Peso Neto]), FILTER( ALLSELECTED(Calendario[Fecha].[Día]), Calendario[Fecha].[Día] <= MAX(Calendario[Fecha].[Día]) ) ), 2 )

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.