Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos,
Necesito ayuda... Quiero hacer un promedio de los últimos N registros.
Os paso un ejemplo por si alguien me puede ayudar. La columna que quiero calcular es la que pone Media, en este caso he hecho la media con los último tres registros.
Lo ideal es poder hacer el cálculo en el script.
Muchas gracias
Fecha | Categoria 1 | Categoria 2 | Precio | Media |
01/01/2016 | A | 1 | 5 | |
02/01/2016 | A | 1 | 6 | |
03/01/2016 | A | 1 | 8 | |
04/01/2016 | A | 1 | 9 | 6,33 |
05/01/2016 | A | 1 | 5 | 7,6 |
06/01/2016 | A | 1 | 3 | 7,33 |
07/01/2016 | A | 1 | 4 | 5,6 |
08/01/2016 | A | 1 | 1 | 4 |
09/01/2016 | A | 1 | 8 | 2,6 |
01/01/2016 | A | 2 | 3 | |
02/01/2016 | A | 2 | 4 | |
03/01/2016 | A | 2 | 2 | |
04/01/2016 | A | 2 | 6 | 3 |
05/01/2016 | A | 2 | 2 | 4 |
06/01/2016 | A | 2 | 1 | 3,33 |
Hola Laura,
No olvides ordenar la tabla.
Además, tener en cuenta que no deberías promediar datos de dimensiones diferentes (categorías)
Adjunto un ejemplo con la solución de tu caso
Cordialmente
Julian
Hola Laura,
Que es exacatmente lo que quieres calcular?
La media en q se basa?
Saludos,
Hola Jordi,
La media se basa en los últimos tres registros en función de la Categoría 1 y la Categoría 2.
Un saludo y gracias
Hola Laura,
Create una tabla que será residente con un campo autonumber: AutoNumber(RowNo(),Categoria) as nVeces,
Luego llamala en otra tabla el la que cargas el Resident:
If(nVeces<2, Precio,RangeAvg(Peek(Precio,-2), Peek(Precio,-1))) as Media
Repasalo para ver si te encaja algo así.
Saludos,
Hola Laura,
No olvides ordenar la tabla.
Además, tener en cuenta que no deberías promediar datos de dimensiones diferentes (categorías)
Adjunto un ejemplo con la solución de tu caso
Cordialmente
Julian
Hola Julian,
La solución propuesta encaja perfectamente. Muchas gracias.
Rizando un poco más la solución, en el caso que el promedio tuviera que ser con los últimos 20 registros, entiendo que tendría que repetir el peek tantas veces como registros quisiera promediar.
¿Hay alguna solución más rápida y eficaz?
Lo comento porque en mi caso, según la categoría, tengo que hacer el promedio con los últimos, 5, 10, 15 ... registros.
Para que entiendas un poco la situación, tengo resultados de muestras de diferentes lugares y necesito saber cuando el resultado de un determinado parámetro y del mismo sitio supera el margen permitido en función del promedio de los últimos N registros.
Espero haberme explicado y mil gracias por la solución propuesta.
Hola Laura,
Justo ahora no puedo probarlo, pero con una función como la expuesta en este hilo Average Dynamically, quizás logres hacerlo.
Saludos!
ok, Muchas gracias por la ayuda.