Calcular cambios en datos diarios

Un usuario Pregunto ✅

mike87

Hola,

Estoy tratando de crear una medida que calcule el cambio diario del precio de una acción. Intenté usar la función LASTDATE, pero por alguna extraña razón, resulta el 31 de diciembre de 2017 en lugar de la fecha de hoy. La función MAX da el mismo resultado, pero MAXX me da el correcto (2 de noviembre de 2017). Sin embargo, MAXX está formateado como texto y no puedo formatearlo hasta la fecha.

El conjunto de datos no contiene filas después del 2 de noviembre. Supongo que LASTDATE, por alguna razón, interpreta la parte del año de la fecha en lugar del día.

Agregaré datos nuevos todos los días y quiero crear una medida que pueda mostrar en una visualización de tarjeta con cambios diarios. O cambios reales o porcentaje. ¿Alguien tiene alguna idea de cómo resolver la última fecha?

Los datos están estructurados así:

Columna 1: Precio de las acciones
Columna 2: Fecha

Zubair_Muhammad

En respuesta a mike87

Hola @ mike87

Pruebe esta MEDIDA.
Archivo adjunto aquí también

PriceChange =
VAR LastPirce =
    CALCULATE (
        VALUES ( Table1[Stock Price] ),
        FILTER ( Table1, Table1[Date] = MAX ( Table1[Date] ) )
    )
VAR SecondLastDate =
    CALCULATE (
        MAX ( Table1[Date] ),
        FILTER ( Table1, Table1[Date] < MAX ( Table1[Date] ) )
    )
RETURN
    LastPirce
        - CALCULATE ( VALUES ( Table1[Stock Price] ), Table1[Date] = SecondLastDate )

Hola @ mike87,

¿Cómo lo intentaste? Están funcionando bien en mi prueba. Será mejor que cree una nueva tabla de fechas para trabajar con funciones de inteligencia de tiempo.

calendar =
CALENDAR ( DATE ( 2017, 1, 1 ), DATE ( 2017, 12, 31 ) )

La fórmula de cambio diario podría ser así:

DailyChange =
VAR yesterday =
    CALCULATE ( MIN ( 'table'[Stock Price] ), PREVIOUSDAY ( 'calendar'[date] ) )
RETURN
    DIVIDE ( yesterday, MIN ( 'table'[Stock Price] ), 0 )

¡Atentamente!

Valle

mike87

En respuesta a v-jiascu-msft

Gracias por tu respuesta Dale.

Todavía no he usado muchas variables. No obtengo los números correctos, pero parece que la función de inteligencia de tiempo realmente funciona con su enfoque.

¿Obtienes el cambio correcto?

En respuesta a mike87

Hola @ mike87,

Sí, suelo usarlo en tal escenario. Eso podría depender de su modelo de datos y de la imagen que cree. ¿Puedes compartir tu archivo pbix?

¡Atentamente!

Valle

mike87

En respuesta a v-jiascu-msft

@ v-jiascu-msft

He subido un par de imágenes del conjunto de datos y el tablero.

Se trata de datos de stock simples con precio de cierre y fechas.

dashEX.PNGNúmeros noruegos con coma como separadores decimalesNúmeros noruegos con coma como separadores decimales

Zubair_Muhammad

En respuesta a mike87

Hola @ mike87

Pruebe esta MEDIDA.
Archivo adjunto aquí también

PriceChange =
VAR LastPirce =
    CALCULATE (
        VALUES ( Table1[Stock Price] ),
        FILTER ( Table1, Table1[Date] = MAX ( Table1[Date] ) )
    )
VAR SecondLastDate =
    CALCULATE (
        MAX ( Table1[Date] ),
        FILTER ( Table1, Table1[Date] < MAX ( Table1[Date] ) )
    )
RETURN
    LastPirce
        - CALCULATE ( VALUES ( Table1[Stock Price] ), Table1[Date] = SecondLastDate )

mike87

En respuesta a Zubair_Muhammad

Gracias @Zubair_Muhammad.

Eso funcionó perfectamente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *