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.
v-yuezhe-msft
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:
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
v-yuezhe-msft
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.
v-yuezhe-msft
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?
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.
v-yuezhe-msft
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?