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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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