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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Valor de las acciones a lo largo del tiempo con movimientos y cambios de precios

Tengo un modelo con cinco tablas.

Yggdrasill_0-1671066313331.png

La tabla de hechos ('InstrumentTransactions') tiene fechas de cantidad de existencias compradas o vendidas.

La tabla que registra el valor de una acción se encuentra en la tabla InstrumentExchangeRate

Para calcular la cantidad poseída en un momento dado, la calculo como un saldo o un inventario así:

 Qty Running Total = CALCULATE(
    SUM( InstrumentTransaction[Amount] ),
    FILTER(
        ALL( DimTradeDate ),
        DimTradeDate[dimDateKeyAsDate] <= MAX( DimTradeDate[dimDateKeyAsDate] )
    )
)

Donde Cantidad es la cantidad real comprada o vendida en DimTradeDate

Ahora aquí viene la parte interesante y es Multiplique la cantidad poseída con la última tasa en un momento dado.

La tabla 'InstrumentExchangeRate' contiene la fecha y el nuevo tipo de cambio para cualquier ticker. Para simplificar, solo vamos a ver un ticker.

Yggdrasill_1-1671066738244.png

Ahora quiero calcular, usando una medida DAX, el valor del ticker A a través de TODAS las fechas.

Por ejemplo, compro 100 el 1.1.2022 y vendo 50 el 24.2.2022, entonces mis datos se verían así:
(tenga en cuenta que mis fechas están en dd.mm.AAAA)

Yggdrasill_2-1671067095112.png

Por alguna razón, no he podido encontrar una solución sobre esto.

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Aquí hay un archivo con ejemplos codificados de cómo se ve el modelo y los datos.

FindLatestValue en SDC table.pbix

Yggdrasill_0-1671102876557.pngYggdrasill_1-1671102892772.png

Hola

Puede descargar mi archivo PBI desde aquí. Vea la tercera tabla en la imagen.

Espero que esto ayude.

Untitled.png

Syndicate_Admin
Administrator
Administrator

Estoy modificando la tabla para que solo tenga un valor máximo de 1 por día. Observe la tabla InstrumentExchangeRate como una dimensión que cambia lentamente

Syndicate_Admin
Administrator
Administrator

La gráfica se engrosa: es un modelo de Analysis Services. No puedo compartir el archivo ni usar PQ :I

Syndicate_Admin
Administrator
Administrator

Hola

Asegúrese de que las fechas del objeto visual se arrastran desde la tabla del calendario. Pruebe estas medidas

Precio = suma('InstrumentExchangeRate'[Valor])

Último precio conocido =

Último saldo con fórmula =
CALCULATE([Precio],LASTNONBLANK('Calendario'[Fecha],CALCULATE([Precio])))
Espero que esto ayude.

Hola, agregué una relación entre la tabla del calendario y la tabla de intercambio y funciona.

Last known price =
VAR _Balance =
    CALCULATE (
        [new Price],
        LASTNONBLANK ( 'DimTradeDate'[dimdatekeyasdate], CALCULATE ( [new Price] ) )
    )
RETURN
    _Balance

Donde el precio es simplemente una suma del tipo de cambio

Pero falla cuando tienes dos o más cambios de precio por día, así que hice esto en su lugar:

Latest Rate = 
CALCULATE (
    MAX ( InstrumentExchangeRate[exchangerate] ),
    FILTER (
        InstrumentExchangeRate,
        InstrumentExchangeRate[dimdatekey] <= MAX ( DimTradeDate[dimdatekey] )
            && InstrumentExchangeRate[dimdatekey] >= MIN ( DimTradeDate[dimdatekey] )
    )
)



Ahora solo necesito calcular el saldo a lo largo del tiempo, que debería ser el último precio de QTY Balance * y listo.

Pero solo obtengo esto y necesito llenar los vacíos

Yggdrasill_1-1671070967880.png

Hola

En el ejemplo inicial que tomaste no mencionaste que puede haber más de 1 precio en un día. de todos modos, en el Editor de consultas, el enfoque debe ser retener solo 1 fila por día. Si está dispuesto a mi enfoque, comparta el enlace de descarga de su archivo PBI.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors