Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
Check it out now!Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
Hola
Tengo una columna de serie temporal (por ejemplo, fecha con el precio del índice bursátil). Quiero mostrar este índice bursátil como gráfico de líneas, con promedio móvil de 365 días y +/- 1 std. dev. Creé 3 medidas en este índice: la media móvil (MA); el MA+1 std. dev; y MA-1 std. dev. Así que al gráfico le debería gustar esto:
Además, quiero que el eje de fecha responda a una segmentación de datos de fecha. Pero cuando cambio la segmentación de fechas, el gráfico se convierte en el siguiente. El eje de fecha no respondió, solo el índice bursátil desapareció parcialmente y las 3 medidas también se comportaron con timez.
(P.D. el valor de la medida para cada día no debe cambiar cuando cambia la segmentación de datos de fecha)
Entonces, ¿cómo modifico mi fórmula para que esto funcione? Aquí está la fórmula para la medida MA+1 std. dev.
¡Muchas gracias! ¡Agradezco mucho que ayudes!
StockIndex_1YMA+sd =
VAR __LAST_DATE = LASTDATE('Data'[Dates].[Date])
RETURN
AVERAGEX(
DATESBETWEEN(
'Data'[Dates].[Date],
DATEADD(__LAST_DATE, -365, DAY),
DATEADD(__LAST_DATE, 365, DAY)
),
CALCULATE(AVERAGE('Data'[StockIndex]))
)
+ CALCULATE(STDEVX.S('Data','Data'[StockIndex]),ALL())
Solved! Go to Solution.
Hay @wlf0032
¿Desea mantener el visual en un cuadro rojo y mostrar otros en blanco?
Creo que puede agregar una función If en su medida.
New =
If (Date[Dates]>= MIN(Date[Dates])&&Date[Dates]<=MAX(Date[Dates]),[StockIndex_1YMA+sd],blank())
O bien, puede intentar crear una tabla de fechas no relacionada para crear la segmentación de datos. A continuación, cree Nueva medida basada en una tabla de fechas no relacionada.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @wlf0032
¿Desea mantener el visual en un cuadro rojo y mostrar otros en blanco?
Creo que puede agregar una función If en su medida.
New =
If (Date[Dates]>= MIN(Date[Dates])&&Date[Dates]<=MAX(Date[Dates]),[StockIndex_1YMA+sd],blank())
O bien, puede intentar crear una tabla de fechas no relacionada para crear la segmentación de datos. A continuación, cree Nueva medida basada en una tabla de fechas no relacionada.
Saludos
Rico Zhou
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¡gracias! ¡Las funciones IF funcionan! pero lo hice de la siguiente manera (1Y MA está en blanco cuando las fechas no están seleccionadas):
@wlf0032
Creé un archivo de Power BI con el valor de cierre msft, compruebe si se ajusta a sus requisitos. No entendí muy bien +1 y -1 aquí.
MA 365 =
CALCULATE(
AVERAGE(MSFT[Close]),
DATESINPERIOD( Dates[Date] , MAX(Dates[Date]) , -365 , DAY )
)
Std + 1 =
[MA 365] +
STDEVX.S(
DATESINPERIOD( Dates[Date] , MAX(Dates[Date]) , -365 , DAY ),
[Close Value]
)
Std - 1 =
[MA 365] -
STDEVX.S(
DATESINPERIOD( Dates[Date] , MAX(Dates[Date]) , -365 , DAY ),
[Close Value]
)
Revisa el archivo adjunto debajo de mi firma
¡Realmente apreciamos su solución! Intenté tu camino, pero esto parece que no resuelve mi problema.
1. la medida std dev no debe ser una medida en movimiento. Debe ser estático, es decir, std dev de todos los datos disponibles.
2. esto no ayudará con el problema de la segmentación de datos de fecha. cuando filtro la segmentación de datos, este desarrollador de std todavía se muestra en el gráfico para las fechas que se filtran.
¡Gracias de todos modos!
@wlf0032
Lo tienes, puedes calcular el STDEV de la siguiente manera. No entendí lo que quisiste decir con "y +/- 1 std. dev. "
Std + 1 = [MA 365] + STDEVX.S( ALL( Dates[Date] ) , [Close Value] )
Std - 1 = [MA 365] + STDEVX.S( ALL( Dates[Date] ) , [Close Value] )