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.
Buenas tardes a todos!
Este posteo viene del anterior: https://community.powerbi.com/t5/Translated-Spanish-Desktop/Problema-con-el-modelo-de-datos-medidas-...
He podido solucionar los problemas de la relación entre tablas, logrando obtener los resultados deseados:
1) Obtener un stock por tipo de instrumento en base a una tabla de hechos (compras y ventas de instrumentos)
2) He podido relacionar la lista de precios de dichos instrumentos (2° tabla de hechos) con la tabla de movimientos, vía una tabla con dimensión calendario.
El inconveniente que tengo actualmente es a nivel cálculo en DAX: no estoy pudiendo obtener la valuación para el período anterior (es decir, el stock al período anterior multiplicado por el precio del período anterior).
Estoy basándome en lo que pude encontrar en el siguiente link: https://www.daxpatterns.com/cumulative-total-excel-2013/
Los períodos son mensuales. La lista de precios contiene sólo un precio de cierre de mes. Los movimientos son diarios pero el stock es mensual. No estoy necesitando valuar un stock diario, dado que no tengo una lista de precios diaria.
A continuación, les dejo las medidas que pude crear:
CotizacionActual:
=IF(HASONEVALUE(DimFCI[Nombre]);MAXX(CALCULATETABLE(TOPN(1;CotizacionesFCI;CotizacionesFCI[Fecha]);CotizacionesFCI;FILTER(ALL(DimCalendario);DimCalendario[PeriodoID]<=MAX(DimCalendario[PeriodoID])));CotizacionesFCI[Cotizacion]))
CotizacionAnterior:
=IF(HASONEVALUE(DimFCI[Nombre]);MAXX(CALCULATETABLE(CotizacionesFCI;FILTER(ALL(DimCalendario);DimCalendario[PeriodoID]<=MAX(DimCalendario[PeriodoID])-1));CotizacionesFCI[Cotizacion]))
TenenciaActual:
=CALCULATE(SUM(MovimientosFCI[Cantidad]);FILTER(ALL(DimCalendario);DimCalendario[PeriodoID]<=MAX(DimCalendario[PeriodoID])))
TenenciaAnterior:
=CALCULATE(SUM(MovimientosFCI[Cantidad]);FILTER(ALL(DimCalendario);DimCalendario[PeriodoID]<=MAX(DimCalendario[PeriodoID])-1))
Valuación Actual:
=SUMX(VALUES(DimFCI[Nombre]);[CotizacionActual]*[TenenciaActual])
Valuación Anterior:
=SUMX(VALUES(DimFCI[Nombre]);[CotizacionAnterior]*[TenenciaAnterior])
La medida Valuación Actual funciona perfectamente. Pero en ValuaciónAnterior, para algunos instrumentos toma precios que no se corresponden con el período que correspondería. He intentando probar con la siguiente medida, pero no trae valores posibles para la medida ValuaciónAnterior:
CotizaciónAnterior2:
=IF(HASONEVALUE(DimFCI[Nombre]);MAXX(CALCULATETABLE(TOPN(1;CotizacionesFCI;CotizacionesFCI[Fecha]);CotizacionesFCI;FILTER(ALL(DimCalendario);DimCalendario[PeriodoID]<=MAX(DimCalendario[PeriodoID])-1));CotizacionesFCI[Cotizacion]))
Aguardo sus comentarios. Si necesitan mayor información, soy todo oídos.
PD: lo estoy trabajando en Excel, con Power Pivot.
Hola,@leandro_salas24
No está claro lo que quieres. Los meros enlaces y fórmulas no me harán entender su problema con mayor claridad.
¿Puede comprimir su problema en un caso simple?
Los datos de muestra y la producción esperada ayudarían enormemente.
Saludos
Equipo de apoyo a la comunidad _ Eason
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |