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.
Hola a todos
Quiero calcular el valor de las acciones y tengo una tabla con una nueva fila cada vez que el costo de un producto cambia y otra tabla con el movimiento de stock por fecha, pero no puedo obtener el cálculo para darme lo que estoy buscando.
Estas son mis tablas (también tengo una tabla de fechas):
Mercancías:
Barras | Descripción |
A | Lápices |
B | Cauchos |
Costos:
Barras | Fecha de actualización | Costo unitario |
A | 01/01/2020 | 5,00 euros |
A | 03/01/2020 | 6,00 euros |
A | 08/01/2020 | 4,00 euros |
A | 12/01/2020 | 3,00 euros |
B | 01/01/2020 | 12,00 euros |
B | 04/01/2020 | 11,00 euros |
B | 09/01/2020 | 15,00 euros |
B | 13/01/2020 | 16,00 euros |
Acción:
Barras | Fecha del movimiento | Movimiento de acciones |
A | 01/01/2020 | 50 |
B | 01/01/2020 | 30 |
A | 04/01/2020 | -10 |
B | 02/01/2020 | -5 |
A | 06/01/2020 | 7 |
B | 05/01/2020 | -5 |
B | 10/01/2020 | -5 |
B | 15/01/2020 | -2 |
Y me gustaría obtener la métrica "Coste total" con los siguientes valores esperados:
He creado las siguientes medidas:
Stock =
CALCULATE(
SUM( Stock[Stock Movement] ),
DATESBETWEEN(
'Calendar'[Date],
FIRSTDATE(
ALL('Calendar'[Date])
),
LASTDATE( 'Calendar'[Date] )
)
) + 0
LastDateWithPrices =
CALCULATE(
MAX( Costs[Update Date] )
, ALL( 'Calendar'[Date] )
, CROSSFILTER( Costs[Update Date], 'Calendar'[Date], None )
,FILTER(
Costs
,Costs[Update Date] <= MAX( 'Calendar'[Date] )
)
)
TOTAL Cost =
CALCULATE(
SUMX(
VALUES( Costs[Barcode] )
,CALCULATE(
Stock[Stock] * SUM( Costs[Unit Cost] )
,FILTER(
Costs
,Costs[Update Date]=[LastDateWithPrices]
)
)
)
)
Adjunto los archivos PowerBI y Excel (fuente de datos):
https://1drv.ms/u/s!AjL25DNeW5csh_4bR3BkrHTzBBSzTw?e=OIwZCc
¿Podría ayudarme?
Gracias de antemano
Solved! Go to Solution.
Hola, @Nicolasgnu
Aquí tienes.
Debe crear medidas como se indica a continuación:
Last Unit Cost =
VAR _lastdate = [LastDateWithPrices]
VAR _barcode =
SELECTEDVALUE ( Goods[Barcode] )
RETURN
CALCULATE (
SUM ( Costs[Unit Cost] ),
FILTER ( Costs, Costs[Update Date] = _lastdate )
)
Total Cost2 =
SUMX ( ALLEXCEPT ( Goods, Goods[Barcode] ), Stock[Stock] * [Last Unit Cost] )
Para obtener más detalles, consulte la "página2" del archivo pbix adjunto.
Saludos
Equipo de soporte de la comunidad _ Eason
Hola @v-easonf-msft ,
¡¡Muchas gracias!! Voy a llevar la solución a mi modelo de datos.
Saludos
Nicolasgnu
Hola, @Nicolasgnu
Aquí tienes.
Debe crear medidas como se indica a continuación:
Last Unit Cost =
VAR _lastdate = [LastDateWithPrices]
VAR _barcode =
SELECTEDVALUE ( Goods[Barcode] )
RETURN
CALCULATE (
SUM ( Costs[Unit Cost] ),
FILTER ( Costs, Costs[Update Date] = _lastdate )
)
Total Cost2 =
SUMX ( ALLEXCEPT ( Goods, Goods[Barcode] ), Stock[Stock] * [Last Unit Cost] )
Para obtener más detalles, consulte la "página2" del archivo pbix adjunto.
Saludos
Equipo de soporte de la comunidad _ Eason
¡Hola! Este post resolvió mi pregunta, pero tengo algunas dudas. ¿Cómo funciona la relación (desactivada) entre la fecha de actualizaciónlassdate y la tabla de calendario? No puedo entender por qué el comportamiento cambia totalmente con esto.
Otra pregunta, supongamos que necesito clasificar los costos totales de stock en grupos como consumibles, materia prima y productos terminados. ¿Cómo puedo hacer que esta medida funcione??? El tipo de código de barras está disponible en la tabla de productos. Gracias de antemano saludos!!
Hola
He intentado maneras sveral, pero no funcionan. ¿Podría ayudarme?
Gracias de antemano.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |