cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

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
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Community News

Fabric Community News unified experience

Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors