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.
Estoy tratando de realizar un seguimiento del costo de los productos usando una tabla que me muestra sólo la actualización de precios.
Tengo la tabla de hechos que me muestra las ventas de productos y la tabla de costes con los cambios en el coste por producto...
Por lo tanto, cada vez que un precio cambia, un nuevo registro entrará en la tabla con la SKU correspondiente y la fecha del cambio.
Necesito una medida para traer el costo el día de la venta.
Intenté usar esa expresión, pero tuve muchos problemas de rendimiento como se puede ver
Product Cost = CALCULATE (
SUM(d_Cost[cost]),
FILTER (d_Cost,
d_Cost[DATE]
= CALCULATE (
LASTNONBLANK ( d_Cost[DATE], 1 ),
FILTER (
d_Cost,
d_Cost[DATE] <= LASTDATE(f_Sales[Date])))))
Tabla fSales
Tabla dCost
Sku | Proveedor | Fecha | Descripción | Costo |
6407 | MARCA 3 | 01/01/2020 | PRODUCTO 1 | 101,05 |
6465 | MARCA 2 | 01/01/2020 | PRODUCTO 2 | 49,96 |
3426 | MARCA 1 | 01/01/2020 | PRODUCTO 3 | 86,4 |
2786 | MARCA 3 | 01/01/2020 | PRODUCTO 4 | 171,5 |
5757 | MARCA 3 | 01/01/2020 | PRODUCTO 5 | 37,2 |
6085 | MARCA 1 | 01/01/2020 | PRODUCTO 6 | 88,65 |
1787 | MARCA 1 | 01/01/2020 | PRODUCTO 7 | 98,95 |
6501 | MARCA 1 | 01/01/2020 | PRODUCTO 8 | 77,81 |
2986 | MARCA 3 | 01/01/2020 | PRODUCTO 9 | 43,92 |
3858 | MARCA 3 | 01/01/2020 | PRODUCTO 10 | 48 |
6195 | MARCA 2 | 01/01/2020 | PRODUCTO 11 | 22,54 |
5991 | MARCA 1 | 01/01/2020 | PRODUCTO 12 | 34,8 |
5619 | MARCA 3 | 01/01/2020 | PRODUCTO 13 | 173,86 |
2061 | MARCA 1 | 01/01/2020 | PRODUCTO 14 | 118,5 |
3264 | MARCA 3 | 01/01/2020 | PRODUCTO 15 | 44,06 |
6431 | MARCA 2 | 01/01/2020 | PRODUCTO 16 | 429,84 |
5469 | MARCA 3 | 01/01/2020 | PRODUCTO 17 | 128,72 |
6255 | MARCA 1 | 01/01/2020 | PRODUCTO 18 | 19,07 |
5175 | MARCA 3 | 01/01/2020 | PRODUCTO 19 | 123,8 |
6099 | MARCA 1 | 01/01/2020 | PRODUCTO 20 | 219,49 |
3234 | MARCA 3 | 01/01/2020 | PRODUCTO 21 | 224,36 |
5435 | MARCA 2 | 01/01/2020 | PRODUCTO 22 | 149,8 |
5731 | MARCA 2 | 01/01/2020 | PRODUCTO 23 | 398,7 |
5363 | MARCA 2 | 01/01/2020 | PRODUCTO 24 | 73,06 |
5707 | MARCA 2 | 01/01/2020 | PRODUCTO 25 | 43,2 |
4443 | MARCA 1 | 01/01/2020 | PRODUCTO 26 | 52,8 |
3286 | MARCA 3 | 01/01/2020 | PRODUCTO 27 | 266,53 |
6017 | MARCA 1 | 01/01/2020 | PRODUCTO 28 | 117,66 |
3132 | MARCA 1 | 01/01/2020 | PRODUCTO 29 | 146 |
2792 | MARCA 1 | 01/01/2020 | PRODUCTO 30 | 105,66 |
6065 | MARCA 2 | 01/01/2020 | PRODUCTO 31 | 101,75 |
6261 | MARCA 2 | 01/01/2020 | PRODUCTO 32 | 36,29 |
3009 | MARCA 2 | 01/01/2020 | PRODUCTO 33 | 70,95 |
3582 | MARCA 3 | 01/01/2020 | PRODUCTO 34 | 11,07 |
1224 | MARCA 2 | 01/01/2020 | PRODUCTO 35 | 118,5 |
6489 | MARCA 2 | 01/01/2020 | PRODUCTO 36 | 216,72 |
4487 | MARCA 2 | 01/01/2020 | PRODUCTO 37 | 58,46 |
5981 | MARCA 1 | 01/01/2020 | PRODUCTO 38 | 95,97 |
6131 | MARCA 1 | 01/01/2020 | PRODUCTO 39 | 10,66 |
6521 | MARCA 3 | 01/01/2020 | PRODUCTO 40 | 144,41 |
6001 | MARCA 2 | 01/01/2020 | PRODUCTO 41 | 186,17 |
3262 | MARCA 2 | 01/01/2020 | PRODUCTO 42 | 24,71 |
5729 | MARCA 3 | 01/01/2020 | PRODUCTO 43 | 321,86 |
6185 | MARCA 3 | 01/01/2020 | PRODUCTO 44 | 24,18 |
2768 | MARCA 3 | 01/01/2020 | PRODUCTO 45 | 17,94 |
6483 | MARCA 2 | 01/01/2020 | PRODUCTO 46 | 40,89 |
3124 | MARCA 1 | 01/01/2020 | PRODUCTO 47 | 118,36 |
3568 | MARCA 3 | 01/01/2020 | PRODUCTO 48 | 13,62 |
6473 | MARCA 1 | 01/01/2020 | PRODUCTO 49 | 98,67 |
6067 | MARCA 3 | 01/01/2020 | PRODUCTO 50 | 131,06 |
4323 | MARCA 1 | 01/01/2020 | PRODUCTO 52 | 36,99 |
6457 | MARCA 1 | 01/01/2020 | PRODUCTO 53 | 58,38 |
3380 | MARCA 2 | 01/01/2020 | PRODUCTO 54 | 8,12 |
3426 | MARCA 1 | 20/04/2020 | PRODUCTO 3 | 100 |
3426 | MARCA 1 | 20/05/2020 | PRODUCTO 3 | 90 |
6195 | MARCA 2 | 17/02/2020 | PRODUCTO 11 | 25 |
6195 | MARCA 2 | 21/02/2020 | PRODUCTO 11 | 7 |
el precio 'actual' es el 'último precio' registrado
Cualquier ayuda sería muy apreciada.
Muchas gracias.
Solved! Go to Solution.
Hola, @diegoamferreira
Puede probar la siguiente medida.
ResultCost =
var _maxdate =
CALCULATE(
MAX(dCost[DATE]),
FILTER(
ALL(dCost),
dCost[SKU] = SELECTEDVALUE(fSales[SKU])
)
)
return
MAXX(
FILTER(
ALL(dCost),
dCost[SKU] = SELECTEDVALUE(fSales[SKU])&&
dCost[DATE] = _maxdate
),
dCost[ COST ]
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Allí, @diegoamferreira
Si usted toma la respuesta de alguien, por favor márquela como la solución para ayudar a los otros miembros que tienen los mismos problemas a encontrarlo más rápidamente. Si no, hágamelo saber y voy a tratar de ayudarle aún más. gracias.
Saludos
Allan
Hola, @diegoamferreira
Puede probar la siguiente medida.
ResultCost =
var _maxdate =
CALCULATE(
MAX(dCost[DATE]),
FILTER(
ALL(dCost),
dCost[SKU] = SELECTEDVALUE(fSales[SKU])
)
)
return
MAXX(
FILTER(
ALL(dCost),
dCost[SKU] = SELECTEDVALUE(fSales[SKU])&&
dCost[DATE] = _maxdate
),
dCost[ COST ]
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¡Gracias!
Hola @diegoamferreira
Hola, ¿puedes tratar de explicar basado en un ejemplo
1.lo que hace la medida,
2. cuál es el resultado esperado para ese ejemplo y
3. ¿Los pasos en su código de medida?
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar felicitaciones si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |