cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Precio de coste medio del inventario por período de corte (selectedvalue/sumx/naturalinnerjoin/calcultables)

Hola a todos

Estoy tratando de calcular el valor de nuestro inventario en períodos de corte. La dificultad radica en el método del precio de costo promedio que se recalcula en cada nueva compra. Nuestro sistema ERP realiza un seguimiento de cada nuevo precio de coste medio (tabla 1). En la tabla2 tengo todos los entresijos de nuestro almacén.

Quiero calcular el valor de inventario en períodos de corte en el pasado basado en un SelectedValue de una tabla de fechas secundaria (=SelectedDate). Por ejemplo, selecciono el 30/09/2021 como período de corte. Aquí abajo puedes encontrar los pasos (creo) que debo seguir para encontrar mi resultado. Pero no encuentro un resultado correcto.

=> Filtrar tabla 1 en fecha <= SelectedDate y mantener solo la LASTDATE por artículo (estas están marcadas en rojo)
=> Tabla de filtros2 en fecha <= SelectedDate y resumir la cantidad de columnas por artículo
=> Multiplique el costo unitario del cuadro 1 por la cantidad del cuadro 2 para cada artículo


En el ejemplo de abajo esto me atraparía
Artículo 1 = > 12 * (50-10) = 480
Artículo 2 = > 5 * (10-1) = 45

Tabla 1 (Entrada de valor) = historial de precios de costo promedio

Artículo UnidadFecha de costo
1 10 01/09/2021
1 12 28/09/2021
1 11 15/10/2021
2 5 02/09/2021
2 6 10/10/2021

Tabla2 (Almacén)= todos los movimientos de entrada y salida de existencias
Fecha de cantidad del artículo
1 50 01/08/2021
1 -10 10/09/2021
2 10 31/08/2021
2 -1 01/09/2021
1 100 10/10/2021

Intenté seguir el código y esto funciona bastante bien a nivel de artículo, pero no a nivel total. Creo que la respuesta está dentro de una combinación de calculables y sumx/naturalinnerjoin pero no veo la luz.

Valor.Cutoff =
VAR SelectedDate = CALCULATE(SELECTEDVALUE(CutOffSelection[Fin de mes]))
VAR LastUnitCost = CALCULATE(sum('Value Entry'[Cost per Unit]),FILTER('Value Entry', 'Value Entry'[Posting Date] <=SelectedDate && MAX('Value Entry'[Posting Date])))
VAR LastUnitCostDate = calculate(MAX('Value Entry'[Fecha de contabilización]), FILTER('Value Entry','Value Entry'[Fecha de contabilización]<= SelectedDate))
Var costperunit = calculate(AVERAGE('Value Entry'[Cost per Unit]),FILTER('Value Entry','Value Entry'[Posting Date]=LastUnitCostDate))
VAR Quantity = calculate([W.Quantity],FILTER('Item Ledger Entry_Warehouse', 'Item Ledger Entry_Warehouse'[Fecha de contabilización]<=SelectedDate))
Resultado VAR= Cantidad*costoporunidad

devolver Resultado

¡Muchas gracias!

Jordy

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@DelVosa

Aquí está mi solución. Espero que sea útil.

Primero agregue una tabla Dim Articles al modelo. Relacionarlo con las tablas "Value Entry" y "Warehourse" en las columnas del artículo.

vjingzhang_0-1660638620775.png

A continuación, cree la siguiente medida

Value.Cutoff =
VAR _selectedDate =
    SELECTEDVALUE ( CutOffSelection[End of Month] )
VAR _table1 =
    SUMMARIZE (
        Articles,
        Articles[Article],
        "LastUnitCostDate",
            CALCULATE (
                MAX ( 'Value Entry'[Posting Date] ),
                FILTER ( 'Value Entry', 'Value Entry'[Posting Date] <= _selectedDate )
            ),
        "Quantity",
            CALCULATE (
                SUM ( Warehouse[Quantity] ),
                FILTER ( Warehouse, Warehouse[Date] <= _selectedDate )
            )
    )
VAR _table2 =
    ADDCOLUMNS (
        _table1,
        "LastUnitCost",
            VAR _article = [Article]
            VAR _lastDate = [LastUnitCostDate]
            RETURN
                CALCULATE (
                    MAX ( 'Value Entry'[Cost per Unit] ),
                    FILTER (
                        'Value Entry',
                        'Value Entry'[Article] = _article
                            && 'Value Entry'[Posting Date] = _lastDate
                    )
                )
    )
RETURN
    SUMX ( _table2, [Quantity] * [LastUnitCost] )

vjingzhang_1-1660638894212.png

El archivo de muestra se ha adjuntado en la parte inferior.

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

Helpful resources

Announcements
Join Arun Ulag at MPPC23

Join Arun Ulag at MPPC23

Get a sneak peek into this year's Power Platform Conference Keynote.

PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

Top Solution Authors