cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Calcular el promedio de los últimos 25 puntos de datos

Tengo un conjunto de datos que continuará agregando registros con el tiempo, pero quiero promediar los últimos 25 puntos de datos y luego trazarlo en un gráfico de líneas como una línea recta. Sin embargo, cuando lo grafico, mi medida es volver a calcular el promedio en cada fecha utilizando los 25 puntos de datos anteriores de esa fecha. Sin embargo, si pongo la medida en una tarjeta, obtengo la respuesta que estoy buscando.

Aquí está la medida que he creado usando un ejemplo que encontré en la web.

DONDE thisdate =
MAX ('Datos finales del alcolyzer FV (2)'[Alcolyzer DT])
DONDE Last25DataPoints =
TOPN (
25,
CALCULATETABLE (
DISTINCT («Datos finales del alcolyzer FV (2)»[Alcolyzer DT]),
ALL («Datos finales del alcolyzer FV (2)»[Alcolyzer DT]),
«Datos finales del FV Alcolyzer (2)»[Alcolyzer DT] <= esta fecha
),
«Datos finales de FV Alcolyzer (2)»[Alcolyzer DT], DESC
)
DEVOLUCIÓN
CALCULAR (
media [«datos finales del alcolizador FV (2)»[valor]),
Last25DataPoints, REMOVEFILTERS('Datos finales de FV Alcolyzer (2)'[Alcolyzer DT])
)
Pensé que la función REMOVEFILTERS resolvería el problema para mí en el gráfico, pero no lo es. Así que mi gráfico tiene 'Datos finales de alcolyzer FV (2)' [Alcolyzer DT] en el eje x y eso es también lo que estoy usando en mi segmentación de datos.
El gráfico se ve así:
cbruhn42_0-1684506067154.png

Tengo el promedio calculado para todo el conjunto de datos aquí está bien.

¡Gracias por la ayuda!

17 REPLIES 17
Syndicate_Admin
Administrator
Administrator

Aquí está el problema que estoy viendo. Puede ver que tengo 25 puntos de datos en mi rango de fechas y, por lo tanto, el promedio regular del valor es correcto en 6.42. La medida está devolviendo 6.37 y no puedo entenderlo.

cbruhn42_0-1685485145353.png

Syndicate_Admin
Administrator
Administrator

Otra cosa que acabo de pensar es que si tengo una marca que aún no tiene 25 puntos de datos, la medida regresa 'en blanco'. ¿Cómo puedo hacer que solo use la cantidad de puntos de datos que tenga para calcular el promedio y luego haré una tarjeta en la pantalla que indica que no tenemos 25 puntos de datos o algo así?

¿Adivinando algún tipo de declaración IF?

Syndicate_Admin
Administrator
Administrator

Hice esto y ahora me da un promedio estático, pero cuando exporto los datos para verificar, el promedio es incorrecto. Debería ser 6,42 para el ejemplo que estoy viendo para los últimos 25 valores, pero mi medida de Power BI devuelve 6,37.

Aquí está el conjunto de datos que estoy viendo:

ALEMÁNValor
5/21/2023 11:176.41
5/19/2023 16:226.32
5/14/2023 12:176.42
5/9/2023 11:476.33
5/9/2023 9:596.36
4/30/2023 14:056.43
4/26/2023 11:036.4
4/21/2023 10:346.29
4/18/2023 11:266.67
4/14/2023 12:346.55
4/11/2023 12:286.43
4/7/2023 10:346.41
4/5/2023 11:456.41
4/2/2023 12:116.54
3/30/2023 9:526.54
3/22/2023 15:546.39
3/21/2023 10:166.48
3/15/2023 15:186.46
3/6/2023 12:296.44
3/5/2023 13:446.49
3/1/2023 13:386.34
2/27/2023 17:486.34
2/21/2023 11:026.36
2/20/2023 10:416.37
2/19/2023 16:546.37
2/12/2023 12:286.27
2/8/2023 12:216.32
2/7/2023 11:586.36
1/23/2023 12:506.45
1/11/2023 11:026.39
1/10/2023 12:496.39
1/3/2023 11:256.5
12/27/2022 13:226.51
12/27/2022 13:106.39
12/22/2022 13:146.36
12/16/2022 13:106.43
12/15/2022 11:056.43
12/5/2022 11:096.47
11/20/2022 11:306.47
11/17/2022 12:376.74
11/14/2022 10:256.67
11/11/2022 13:386.66
10/31/2022 10:316.68
10/31/2022 10:276.45
10/27/2022 10:146.63
10/24/2022 11:256.48
10/12/2022 9:486.59
10/10/2022 11:556.61
10/5/2022 9:156.67
10/5/2022 9:116.66
9/30/2022 11:276.62
9/25/2022 14:436.68
9/22/2022 10:116.73
9/18/2022 15:096.64
9/18/2022 15:056.55
9/9/2022 14:096.61
9/9/2022 14:056.74
9/7/2022 9:556.74
9/1/2022 9:366.66
8/24/2022 9:496.27
8/21/2022 13:086.26
8/12/2022 8:196.8
8/7/2022 13:096.64
8/7/2022 13:056.68
8/3/2022 15:026.66
7/28/2022 10:236.59
7/22/2022 10:496.65
7/20/2022 10:166.72
7/17/2022 14:446.61
7/14/2022 10:066.62
7/8/2022 11:576.52
7/6/2022 10:056.64
7/4/2022 12:376.72
6/27/2022 9:386.63
6/24/2022 13:086.8
6/21/2022 10:216.77
6/17/2022 12:386.79
6/13/2022 9:336.67
6/6/2022 9:436.84
Syndicate_Admin
Administrator
Administrator

Hola

Tengo entendido que desea conservar todos los filtros de su selección, excepto el filtro de fecha. Para ignorar la selección de la columna de filtro de datos, simplemente agregue la columna dentro de su cláusula ALL. Si lo hace, se ignorará la selección de fecha, pero se preverán todas las demás selecciones de filtro.

Pruebe lo siguiente

WaqarArshad_0-1685431581530.png

Syndicate_Admin
Administrator
Administrator

¿Alguna otra idea?

Syndicate_Admin
Administrator
Administrator

Descubrí algo. Está calculando el promedio y el desarrollo estándar siempre que el rango de fechas que he seleccionado tenga 25 puntos de datos o más. Si tiene menos, lo calcula a partir de la cantidad de puntos de datos que hay en mi rango de fechas.

Mi problema sigue siendo este. Tengo cientos de puntos de datos en este conjunto de datos para cada atributo. Todavía debería poder calcular las estadísticas de los últimos 25 puntos de datos, independientemente de cuál sea mi rango de fechas. Sin embargo, ¿cómo lo hago?

Syndicate_Admin
Administrator
Administrator

Resulta que no funcionó. Cuando ajusto mi segmentación de datos de fecha, el promedio cambia por alguna razón.

Lo que tengo es una tabla de marcas que tienen atributos y luego valores asociados a esos atributos. Estoy filtrando por marca, atributo y fecha de análisis y luego mostrando el gráfico de control con puntos de datos y límites de control. Necesito el promedio y la desviación estándar calculados usando los últimos 25 puntos de datos, pero hasta ahora todo lo que he probado no me da números estáticos. Están cambiando en función del control deslizante de fecha. Es el último intento que no funciona:

Atributo Promedio Últimos 25 puntos de datos =

CALCULAR(Promedio («Datos finales del alcolisador FV (2)»[Valor]), TOPN(25, TODOSELECCIONADO(«Datos finales del alcolisador FV (2)»), «Datos finales del alcolisador FV (2)»[Alcolyzer DT], DESC), ELIMINAR filtros(«Datos finales del alcolisador FV (2)»[Alcolyzer DT]))
También probé esto:
Atributo Promedio Últimos 25 puntos de datos =

CALCULAR(Promedio («Datos finales del alcolisador FV (2)»[Valor]), TOPN(25, TODO(«Datos finales del alcolisador FV (2)»), «Datos finales del alcolisador FV (2)»[Alcolyzer DT], DESC))
Syndicate_Admin
Administrator
Administrator

Sí, eso hará el truco, ya que todos los seleccionados solo eliminan los filtros de la consulta actual mientras conservan los filtros de la consulta externa .

Syndicate_Admin
Administrator
Administrator

¡Cambié ALL a ALLSELECTED y funcionó!

Syndicate_Admin
Administrator
Administrator

¡Esto me tiene cerca! Ahora tengo una línea recta y estática, pero está promediando todos los puntos de datos [de valor] juntos e ignorando mi segmentación de atributos en la página.

Syndicate_Admin
Administrator
Administrator

Hola, ver imagen adjunta. ¿Esto resuelve su problema?

LastXDataPoints = CALCULATE(AVERAGE(Data[Value]), TOPN(25, ALL(Data), Data[Date], DESC))

WaqarArshad_1-1684935130227.png

Syndicate_Admin
Administrator
Administrator

No, la función removefilters no cambia nada. No estoy seguro de si lo tengo en el lugar equivocado o qué.

Syndicate_Admin
Administrator
Administrator

Entonces, ¿maange para resolver esto usando REMOVEFITLERS?

Syndicate_Admin
Administrator
Administrator

Así que aquí hay un ejemplo.

Los últimos 5 puntos de datos en mi conjunto de datos están a continuación y cada uno analizado en un día diferente.

6.28

6.42

6.33

6.36

6.43

El promedio es 6.36 y me gustaría que se mostrara como un solo valor en todo el gráfico y luego trazar los puntos de datos también en el gráfico. Pude calcular el promedio en todo el conjunto de datos y trazar esto usando REMOVEFILTERS para obtener mi línea recta.

Syndicate_Admin
Administrator
Administrator

¿Puede compartir datos de muestra o una pbix de muestra?

Syndicate_Admin
Administrator
Administrator

Eso produjo este error:

cbruhn42_0-1684512778687.png

Syndicate_Admin
Administrator
Administrator

Hola

Sin el pbix, es difícil probar esto, pero ¿podrías intentar lo siguiente?

Last25DataPoints = CALCULATE(Average ('Final FV Alcolyzer Data (2)'[Value]), TOPN(25, ALL('Final FV Alcolyzer Data (2)'), 'Final FV Alcolyzer Data (2)', DESC))

Helpful resources

Announcements
May 2023 update

Power BI May 2023 Update

Find out more about the May 2023 update.

Submit your Data Story

Data Stories Gallery

Share your Data Story with the Community in the Data Stories Gallery.

Top Solution Authors
Top Kudoed Authors