Tengo una producción de la tabla que contiene la estructura siguiente: Tengo datos para cada representante del 1/1/2011 al 1/8/2013. Lo que quiero ser capaz de hacer es crear una media móvil de 12 meses a partir de 1/1/2012 para cada representante, de la siguiente manera: donde cada fila representa el promedio móvil de 12 meses para dicho representante en el momento indicado. Encontré algunos ejemplos que estaban vagamente cerca y los probé en vano. Parece que la adición de un grupo por componente rep es la mayor diferencia con otros ejemplos. Esto es casi lo que tengo: Esa consulta parece tirar un promedio general o suma, ya que no hay agrupación en la subconsulta correlacionada. Cuando intento agrupar por, consigo un error que puede volver solamente a lo más una fila. Tengo datos como abajo (con 30.000 artículos diferentes) y mientras que todavía no tengo 12 meses de datos semanales quisiera crear una media móvil para los 12 meses pasados (DATEADD (aaaa, -1, OBTENER LA FECHA())). Esto se ejecutará cada semana para capturar nuestro nivel de inventario promedio de los últimos 12 meses en contra de cada elemento. Además, tengo que ejecutar de manera retrospectiva esto para actualizar los registros que tengo actualmente (30 semanas por cada artículo actualmente). La retrospectiva tiene que tomar un promedio hasta la fecha en que el registro fue capturado, así que para la primera fecha el ítem sería el promedio en un registro y para la segunda fecha, dos registros, etc. (pienso que la actualización actual sería Necesita T-SQL diferente que el trabajo semanal futuro). Los datos se parecen a esto (la columna de la derecha muestra cómo debería ser.) De Fecha ValorNo 12mAve 01/06/2008 00:00 0003E 285.6465 285.6465 08/06/2008 00:00 0003E 377.9624 331.8045 15 / 06/2008 00:00 0003E 377.9624 347.1904 22/06/2008 00:00 0003E 377.9624 354.8834 29/06/2008 00:00 0003E 283.4718 340.6011 06/07/2008 00:00 0003E 283.4718 331.0796 13/07/2008 00:00 0003E 283.4718 324.2784 20/07/2008 00:00 0003E 188.9812 307.3663 27/07/2008 00:00 0003E 188.9812 294.2124 03/08/2008 00:00 0003E 188.9812 283.6893 10/08/2008 00:00 0003E 567.0228 309.4469 17/08 / 2008 00:00 0003E 567.0228 330.9115 24/08/2008 00:00 0003E 567.0228 349.0739 31/08/2008 00:00 0003E 567.0228 364.6417 07/09/2008 00:00 0003E 567.0228 378.1338 14/09/2008 00:00 0003E 567.0228 389.9393 21/09/2008 00:00 0003E 472.5190 394.7970 nickhodge (20/02/2009) Gracias tanto por su ayuda. Tengo este T-SQL real pero expira (tiempo de espera expirado). (Tengo que calcular el valor de inventario pero he probado en una tabla de prueba con ese pre-calculado, mismo problema). Lo único que puedo ver es que agrega EXTERIOR automáticamente, pero eso es probablemente el SELECT por defecto a. ItemNo, a. Date, AVG (b. QOH b. AveCost) AS 12mAve DE dbo. WeeklyLoc1InventoryData COMO UN JOB EXTERIOR IZQUIERDO dbo. WeeklyLoc1InventoryData AS b ON a. ItemNo a. ItemNo Y b. Date gt DATEADD (m, - 12, a. Date) Y b. Date lt a. Date GRUPO a. ItemNo, a. Date Cualquier pista (Sólo espero que no havent Tengo algo mal en el T-SQL, pero no creo que tengo) en un. ItemNo a. ItemNo --Jeff Moden RBAR se pronuncia ree-bar y es un Modenismo para R ow - B y-A gonizing - R ow. Primer paso hacia el cambio de paradigma de la escritura Set Based código: Deja de pensar en lo que quieres hacer a una fila. Piensa, en cambio, en lo que quieres hacer a una columna. Enlaces útiles: Cómo publicar problemas de código Cómo publicar problemas de rendimiento Ahora quiero un gráfico que muestre este promedio móvil de 12 meses para los últimos 12 meses, es decir, en el eje horizontal de los últimos 12 meses y en el eje vertical el porcentaje de enfermedad. He creado un conjunto de datos llamado Last12Months, pero por supuesto esto es incorrecto, p. Para el promedio móvil de julio 2010, la media móvil necesita los porcentajes de enfermedad de agosto de 2009 hasta julio de 2010. Sin embargo, cuando se utiliza un conjunto de datos que contiene los últimos 12 meses, los porcentajes de enfermedad para antes de julio de 2010 no están disponibles para calcular el movimiento Promedio de julio de 2010. ¿Podría por favor dar más explicación a esto puede dar un poco de diseño de muestras de informe para borrar su requisito, a su último párrafo, parece que desea dar un filtro a grupo de categorías en el gráfico para mostrar los últimos 12 últimos Mes, derecho si ese es el caso, creo que puede hacer uso de la función de hoy en los servicios de informes para obtener el año actual y el mes, a continuación, utilizar este año para restar 1, obtendrá últimos 12 meses. Si no lo entiendo, no dude en hacernos saber. Gracias, Challen Fu Por favor, recuerde marcar las respuestas como respuestas si ayudan y desmarcar si no proporcionan ninguna ayuda. Marcado como respuesta por HennieErgon Viernes 19 de Agosto de 2011 11:14 AM Martes 16 de Agosto de 2011 5:17 IIf (Mes (hoy)) lt 10, (Año (Hoy) - 2) amp quotM0quot amp Mes (Hoy ()), (Año (Hoy ()) - 2) amp quotMquot amp Mes (hoy ()) IIf (Mes (hoy)) lt 10, () () () () () (1) (1) (1) (1) (1) (1) (1) Hoy quiero un gráfico que muestre este promedio móvil de 12 meses de los últimos 12 meses, es decir, en el eje horizontal de los últimos 12 meses, y El eje vertical el porcentaje de enfermedad. He creado un conjunto de datos llamado Last12Months, pero por supuesto esto es incorrecto, p. Para el promedio móvil de julio 2010, la media móvil necesita los porcentajes de enfermedad de agosto de 2009 hasta julio de 2010. Sin embargo, cuando se utiliza un conjunto de datos que contiene los últimos 12 meses, los porcentajes de enfermedad para antes de julio de 2010 no están disponibles para calcular el movimiento Promedio de julio de 2010. ¿Podría por favor dar más explicación a esto puede dar un poco de diseño de muestras de informe para borrar su requisito, a su último párrafo, parece que desea dar un filtro a grupo de categorías en el gráfico para mostrar los últimos 12 últimos Mes, derecho si ese es el caso, creo que puede hacer uso de la función de hoy en los servicios de informes para obtener el año actual y el mes, a continuación, utilizar este año para restar 1, obtendrá últimos 12 meses. Si no lo entiendo, no dude en hacernos saber. Gracias, Challen Fu Por favor, recuerde marcar las respuestas como respuestas si ayudan y desmarcar si no proporcionan ninguna ayuda. Marcado como respuesta por HennieErgon Viernes 19 de Agosto de 2011 11:14 AM Martes 16 de Agosto de 2011 5:17 Gracias por la respuesta. Me cansé con filtro en la categoría de fecha, pero luego tengo otros problemas. Adjunto un ejemplo. Como puede ver mi formato de fecha es como 2009M09. Pero para filtrar durante los últimos 12 (o 24) meses, tengo que dividir el año y el mes. Sin embargo, como se puede ver en el ejemplo, por ejemplo, el 2009M10, 2009M11 y 2009M12 se omitieron, porque piensa 10, 11 en 12 son inferiores a 9. Miércoles, 17 de agosto de 2011 9:46 AM Como me dijo, Hice un filtro en el YearMonth Categoría: IIf (Mes (hoy ()) lt 10, (Año (Hoy) - 2) amp quotM0quot amp Month (hoy ()), Amp quotMquot amp Month (hoy ()) IIf (Mes (hoy ()) lt 10, Año (Hoy) amp quotM0quot amperio (Mes (hoy ()) - 1) (Month (today ()) - 1)) Marcado como respuesta por Challen Fu Moderador Sábado, 20 de agosto de 2011 12:50 Editado por HennieErgon lunes, 22 de agosto de 2011 6:18 am orden de la fórmula Friday, August 19, 2011 11:12 AM
Comments
Post a Comment