Promedio móvil de tres semanas

Un usuario Pregunto ✅

jonathanjohns

Buenas tardes,

Tengo un problema para hacer una fórmula con Power BI Desktop. Eché un vistazo en el foro para encontrar mi respuesta, pero no pude hacer la operación.

Tengo una tabla como esta con datos del 02/01/2017 al 31/03/2017. Me gustaría calcular un promedio móvil para 3 semanas.

FECHA Valor Día Semana Mes
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 60,1 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 60,31 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 60,32 0017-03-01 0017-W09 17 de marzo
01/03/2017 60,89 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 N / A 0017-03-01 0017-W09 17 de marzo
01/03/2017 59,89 0017-03-01 0017-W09 17 de marzo

Sé cómo calcular un promedio para una semana, pero no sé cómo hacer un promedio móvil. Para un ejemplo, me gustaría una tabla como esa:

Semana Promedio Promedio móvil
0017-W09 60 N / A
0017-W10 61 N / A
0017-W11 62 61
0017-W12 60 61
0017-W13 61 61
0017-W14 61 60,666666
0017-W15 62 61,333333

Con para la semana 11 el cálculo: (60+61+62)/3=61

Para la semana 12: (61+62+60)=61

Para la semana 14: (60+61+61)=60,66

Sé que no será posible calcular las 2 primeras semanas, pero ¿sabe cómo hacer para las demás, por favor?

Gracias por tu ayuda.

Hola @JonathanJohns,

En su escenario, primero puede crear una nueva tabla usando el DAX a continuación.

NewTable = SUMMARIZE('Datatable','Datatable'[Week],"Average",AVERAGE('Datatable'[Value]))

Luego cree una columna de índice en la nueva tabla usando la siguiente fórmula.

Index = CALCULATE(COUNT(NewTable[Week]),ALL(NewTable),FILTER(NewTable,NewTable[Week]<=EARLIER(NewTable[Week])))

Y cree un promedio móvil usando DAX a continuación.

Running Average = IF(NewTable[Index]=1 || NewTable[Index]=2,0,(NewTable[Average]+LOOKUPVALUE(NewTable[Average],NewTable[Index],NewTable[Index]-1)+LOOKUPVALUE(NewTable[Average],NewTable[Index],NewTable[Index]-2))/3)

Gracias,
Lidia Zhang

jonathanjohns

En respuesta a v-yuezhe-msft

Hola @v-yuezhe-msft

Gracias por tu respuesta. Hice el script que hiciste y obtuve esta tabla:

Sin título.png

Con respecto a la columna «Promedio móvil», quería saber cómo es posible obtener una columna como esa, por favor:

Semana Promedio Índice Promedio móvil
0017-W09 60,374171 1 N / A
0017-W10 60,322105 2 N / A
0017-W11 60,224279 3 60,30685167
0017-W12 60,26567 4 60,27068467
0017-W13 60,153548 5 60,214499

El valor 60,306851167 es el promedio de los 3 valores de las semanas W09,W10,W11.

El valor 60,27068467 es el promedio de los 3 valores de las semanas W10,W11, W12.

El valor 60,214499 es el promedio de los 3 valores de las semanas W11,W12,W13.

Espero que sepas a qué me refiero, lo intenté todo el último viernes, pero me parece un poco confuso.

Gracias por tu ayuda.

jonathan

En respuesta a jonathanjohns

Hola @JonathanJohns,

¿Creas una nueva tabla usando la primera fórmula? ¿Y hace clic derecho en la nueva tabla y selecciona «Nueva columna» para aplicar la tercera fórmula?

Gracias,
Lidia Zhang

jonathanjohns

En respuesta a v-yuezhe-msft

He hecho como dijiste. Creé una nueva tabla con el DAX, luego creé la columna «Índice» y finalmente la columna «Promedio móvil» y obtuve la última tabla.

En respuesta a jonathanjohns

Hola @JonathanJohns,

Las fórmulas funcionan como se esperaba en mi escenario, ¿podría compartirme todos los datos en su tabla original para que pueda probar?

1 PNG

Gracias,
Lidia Zhang

jonathanjohns

En respuesta a v-yuezhe-msft

¿Cómo puedo hacer para enviarles mis datos por favor?

jonathanjohns

En respuesta a jonathanjohns

¡Finalmente lo hice! Fue solo un pequeño error en el DAX. Consigo la tabla que quiero.

Gracias por tu ayuda.

En respuesta a jonathanjohns

Hola @JonathanJohns,

Observo que publica otro hilo para el nuevo problema anterior, revise la respuesta de Qiuyun y su hilo será rastreado en ese hilo.

Gracias,
Lidia Zhang

greg_deckler

Echa un vistazo a mi artículo aquí:

https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

Deberá crear otra medida que tome el promedio de promedios con un filtro apropiado, pero esta técnica debería funcionar.

jonathanjohns

En respuesta a greg_deckler

Leí tu artículo pero no entendí cómo lo hice en mi caso… Lo siento

¿Cómo es posible calcular un promedio móvil de tres semanas, por favor?

Deja un comentario

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