Friday 17 November 2017

Cálculo Del Promedio Móvil T-Sql


SQL Server T-SQL Código para calcular un promedio móvil ¿Cómo puedo suavizar los datos en una columna con una media móvil en T-SQL ¿Puede usted por favor caminar a través de un Ejemplo en SQL Server con código T-SQL ¿Cómo podemos validar los resultados Solución Los datos de la serie temporal pueden ser intrínsecamente ruidosos y una buena manera de suavizar los datos es calcular un promedio móvil. Hay un número de maneras de calcular una media móvil en T-SQL, pero en esta punta vamos a mirar una manera de calcular un promedio móvil que establece la ventana de promedio x número de filas detrás y x número de filas por delante de la actual Fila de datos. La ventaja de esto es que no hay retraso en el valor promedio devuelto y el valor de la media móvil está en la misma fila con su valor actual. Comencemos creando una tabla y cargando algunos datos usando el T-SQL a continuación. Tenemos 361 puntos de datos que crean una onda senoidal ruidosa. Después de cargar los datos, ejecutaremos el siguiente código T-SQL para seleccionar todas las columnas junto con el valor del promedio móvil. En el siguiente código, el tamaño de la ventana del promedio móvil es 15 (7 filas que preceden a la fila actual, más la fila actual, más las 7 filas siguientes). El promedio móvil de la columna DataValue se devuelve como la columna MovingAverageWindowSize15. La cláusula ORDER BY es extremadamente importante para mantener los datos en el orden ordenado adecuado. Podemos copiar y pegar los resultados en Excel para validar que el cálculo es correcto. En la imagen de abajo, la ventana comienza en la celda C3 y termina en C17. El promedio móvil calculado por el T-SQL en esta punta aparece en la celda D10. El promedio calculado por Excel está en la parte inferior y es igual al valor en D10. En la siguiente figura, podemos ver los valores de los datos originales trazados en azul con el promedio móvil representado en rojo. Pasos siguientes Ajuste el tamaño de la ventana del promedio móvil para ver cómo cambia la gráfica. Además, asegúrese de consultar estos otros consejos sobre T-SQL de mssqltips: Última actualización: 3/8/2016 Quiero incorporar dos cálculos de promedio para un montón de columnas de valor en mi sentencia select. Vea este enlace para mi estructura de tabla simplificada incluyendo el cálculo de salida deseado: Pastebin Month1 valor de la columna value1 para ese mes, Month2 si suma 0 y luego escribe 0, else avg (Month1 y Month2) y así sucesivamente. Así que para cada producto, quiero el promedio móvil para cada mes dentro de un año. Tengo esta disposición en mi Excel pero no puedo transferir la expresión a sql. Para cada producto, calcule el promedio de todos los años y duplique el valor calculado en todas las filas de ese producto. Espero que me puedas ayudar con esto. Parece que necesito un procedimiento, pero tal vez es sólo una declaración simple. Estoy trabajando con SQL Server 2008 R2, tratando de calcular una media móvil. Para cada registro en mi vista, me gustaría recopilar los valores de los 250 registros anteriores, y luego calcular el promedio para esta selección. Mis columnas de vista son las siguientes: TransactionID es único. Para cada TransactionID. Me gustaría calcular el promedio para el valor de la columna, más de 250 registros anteriores. Así para TransactionID 300, recopile todos los valores de 250 filas anteriores (la vista se clasifica descendiendo por TransactionID) y luego en la columna MovAvg escriba el resultado del promedio de estos valores. Estoy buscando para recopilar datos dentro de una gama de registros. Preguntó Oct 28 14 at 20:58

No comments:

Post a Comment