Thursday 23 November 2017

Consultar Media Móvil De Acceso A Ms


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. 10 de octubre de 2004 a las 14: 47 Calcular totales corrientes y promedios móviles en Microsoft Access con estadísticas de acceso total Microsoft Access no ofrece funciones integradas para calcular totales en ejecución. Los totales corrientes son resúmenes sobre un número determinado de registros. Por ejemplo, una media móvil de 30 días que le gustaría calcular para cada registro basado en su valor y sus 29 registros anteriores. Afortunadamente, Total Access Statistics realiza una amplia gama de cálculos totales corrientes en todos sus registros: Realizar resúmenes para un conjunto de registros en movimiento para calcular sumas, promedios, mínimo, máximo, rango, mediana, desviación estándar, etc. En su fuente de datos Analizar los datos en sus tablas y consultas de Access (incluidos los datos enlazados) Agrupación de apoyo en los valores de campo para que pueda realizar varios análisis en un solo paso Totales corrientes se agregaron a Total Access Statistics para Microsoft Access 2007 y X.7 Versiones para Access 2003 y versiones anteriores. Totales corrientes Descripción general Los totales corrientes son cálculos para un número determinado de registros a través de su tabla o consulta. Genere fácilmente resultados como sumas corrientes, promedios, mínimo, máximo, mediano, etc. y colóquelos en campos en su fuente de datos. Estos cálculos están disponibles: Promedio (Media) Conteo Observaciones Sumado Suma Cuadrado Mínimo Máximo Rango Desviación Estándar Variación Coeficiente de Varianza Error Estándar Modo Mediano Modo Cuenta Media Geométrica Media Armónica Promedio Radicular Cuadrado Inclinación Kurtosis Error Estándar de Skewness Error Estándar de Kurtosis Hasta cinco campos En su tabla se puede actualizar al mismo tiempo. Cómo se calculan los valores totales de ejecución Por ejemplo, es posible que desee calcular el promedio de los últimos 10 registros. Esta media móvil se determina basándose en el orden de clasificación de los datos, calculando la media de esos 10 registros y poniéndolo en un campo que designe con el registro 10. Para el registro 11, el registro 1 es ignorado y el cálculo se realiza para los registros 2 a 11, etc. Al igual que las otras funciones, puede especificar campos de grupo para que cada grupo tenga sus propios totales en ejecución. Esta característica no crea una tabla separada. Los resultados se colocan en los campos especificados en el origen de datos. Ejecución de Totales Selección de campos La pantalla de selección de campos para Totales corrientes le permite especificar los campos para ordenar y los campos para colocar los resultados: Los campos de grupo le permiten generar un conjunto de análisis independiente para cada combinación de valores únicos entre los campos de grupo. Los campos de clasificación determinan el orden de clasificación de sus registros para calcular los valores en ejecución. Especifique al menos un campo de ordenación. Esto puede incluir el campo en el que está realizando los cálculos. Los campos se ordenan en orden ascendente. Especifique hasta cinco campos para actualizar con sus totales. Asegúrese de que los campos son de tipos de datos que pueden contener los datos que esperan poner en ellos. Ejecutar las opciones totales Después de seleccionar los campos, se presentan las opciones Totales corrientes: Campo a analizar Especifique el campo en el que se basan los cálculos. Este campo puede ser un campo que se especificó como un campo de ordenación. Por ejemplo, es posible que desee calcular el promedio en función de las ventas clasificadas en orden ascendente. Número de registros para calcular los totales más Especifica el número de registros en el total móvil. Si especifica 0, los totales se calculan para cada registro. Si introduce un número específico, los cálculos se basan en ese número de registros. El primer registro se deja caer cuando se agrega el siguiente, y los cálculos se basan en este conjunto de registros en movimiento. Conjunto inicial de registros Si especifica el número de registros para calcular los totales, hay una opción para determinar qué sucede antes de alcanzar ese número de registros. Los totales deben omitirse o calcularse en función de los registros procesados. Elija Calcular para ver los totales en ejecución independientemente de si se alcanza el número de registros en movimiento. Elija Dejar en blanco para tener sólo totales en ejecución cuando se alcance el número especificado de registros sin ningún cálculo para un número menor de registros. Tipo de cálculo Existen muchos tipos de cálculo disponibles. Especifique el que desea para cada uno de los campos de actualización que ha seleccionado. Resultados Totales corrientes Los resultados Totales corrientes se colocan en los campos de actualización especificados: Ejemplo de Totales corrientes colocados en los cuatro campos correctos de esta tabla de Microsoft Access En este ejemplo, los datos se ordenaron por Fecha e Id. campo. Observe los valores en el campo RunningCount aumentando de 1 a 10. Una vez que alcanza 10, permanece en 10 porque es el número máximo de registros en el total móvil. El campo RunningTotal muestra la suma de Sales sobre los registros del conjunto de registros en movimiento. Como se seleccionó la opción para calcular los valores para el conjunto inicial de registros (antes de que alcanzara 10 registros), se muestran los valores. De lo contrario, los primeros 9 registros tendrían valores nulos. Asistente Interactivo y Interfaces Programáticas de VBA Total Access Statistics le permite generar interactivamente sus cálculos a través de su interfaz de asistente para seleccionar fácilmente el origen de datos, campos y análisis sin programación. Después de especificar sus selecciones, se guardan automáticamente como un escenario en su base de datos para que pueda volver a ejecutarlas en el futuro cuando cambie sus datos. Una función de estadísticas de VBA también está disponible para que pueda generar estos resultados de código. Puede ejecutar fácilmente cualquier escenario guardado llamando a un solo procedimiento en la biblioteca de Total Access Statistics VBA. La biblioteca incluye una licencia de ejecución libre de regalías para que pueda incluirla en su base de datos de Access y distribuirla a propietarios que no sean de Total Access Statistics. Llamar a la función de un botón OnClick evento u otro proceso, y los resultados se generan para usted. Incluso puede ocultar la interfaz de usuario integrada para que sus usuarios ni siquiera saben que Total Access Statistics se está ejecutando. Ellos se sorprenderán con sus capacidades de análisis estadístico. Detalles adicionales de los cálculos disponibles en Estadísticas de acceso total Aquí hay algunos recursos adicionales y detalles sobre algunos de los análisis de datos que puede realizar en sus datos de Microsoft Access con estadísticas de acceso total: Cálculos de flujo de efectivo financiero Utilice efectivo descontado Flujos y tasas de interés para generar Valor Presente Neto (VPN), Valor Presente (VP), Valor Futuro (VF), Tasa de Rentabilidad Interna (TIR), Tasa Interna de Retorno Modificada (MIRR) para pagos y recibos periódicos y dependientes de la fecha. Calcular los diferentes tipos de percentiles: mediana, cuartiles, quintiles, octiles, deciles, percentiles, cada percentil X.5, y colocarlos en una tabla o actualizar un campo existente con el valor percentil de los registros. Totales corrientes y promedios móviles Resumir un conjunto de registros en movimiento para calcular las sumas corrientes, los promedios móviles, el mínimo, el máximo, el rango, la mediana, la desviación estándar, etc. Normalización de datos (Transposición de datos) Transponer datos no normalizados para que pueda analizar y mantener fácilmente eso. Regresiones Regresiones simples, múltiples y polinómicas con cálculo de coeficientes de ecuación, ANOVA y tabla residual Tablas cruzadas y tablas cruzadas Chi cuadradas con porcentajes de fila, columna y totales mostrados como registros o columnasMoving Cálculo medio Cálculo de media móvil Cálculo de media móvil Estoy intentando Para calcular una media móvil para una serie de datos. Quiero generar la media móvil para cada punto dentro de los datos, con el fin de mostrar en un gráfico. De todos modos, a continuación se muestra un ejemplo de MS Support. He seguido a la carta, pero la mía no da una media móvil. Repite el mismo punto de datos una y otra vez (el primer punto de datos). Por lo tanto, no creo que la función es encontrar el inicio en la línea MyRST. Seek, por lo tanto, sólo devolver el primer punto de datos. Por último (tal vez lo hará realmente fácil) Estoy confundido acerca de cómo funcionan los índices. Pensé que sólo podías tener una clave primaria, pero aparentemente puedes crear múltiples restricciones de campo. He intentado hacer esto con la pregunta siguiente de la definición de los datos: ALTER TABLE Tabla 1 ADD CONSTRAINT NoDupes ÚNICO (CurrencyType, TransactionDate) Lo sentimos sobre la longitud de esta entrada. Aprecio tu ayuda. La siguiente función de ejemplo calcula los promedios móviles basados ​​en una tabla con una clave primaria de múltiples campos. Los valores semanales de las monedas extranjeras se utilizan para este ejemplo. Para crear la función de ejemplo, siga estos pasos: Cree la tabla siguiente y guárdela como Table1: Table: Table1 --------------------------- -------------- Nombre de campo: CurrencyType Clave principal Tipo de datos: Tamaño del campo de texto: 25 Nombre de campo: TransactionDate Clave principal Tipo de datos: Date / Time Formato: Short Date Nombre de campo: Rate Tipo de datos : Currency Decimal Places: 4 Vea la tabla en la vista Hoja de datos e ingrese los valores siguientes: CurrencyType TransactionDate Rate ----------------------------- --------------- Yen 8/6/93 0,0079 Yen 8/13/93 0,0082 Yen 8/20/93 0,0085 Yen 8/27/93 0,0088 Yen 9/3/93 0,0091 Mark 8/6/93 0.5600 Mark 8/13/93 0.5700 Mark 8/20/93 0.5800 Mark 8/27/93 0.5900 Mark 9/3/93 0.6000 Abra un nuevo módulo y escriba las funciones siguientes: Function MAvgs (Periods As Integer, StartDate, TypeName) Dim MyDB como DATABASE, MyRST como conjunto de registros, MySum como doble Dim i, x Conjunto MyDB CurrentDb () Set MyRST MyDB. OpenRecordset (Table1) En Error Resume Siguiente MyRST. Index PrimaryKey x Períodos - 1 ReDim Store X) MySum 0 For i 0 To x MyRST. MoveFirst MyRST. Seek, TypeName, StartDate Estas dos variables deben estar en el mismo orden que los campos de clave primaria en su tabla. Almacene (i) MyRSTRate Si i lt x Then StartDate StartDate - 7 El 7 aquí asume datos semanales 1 para datos diarios. Si StartDate lt 8/6/93 MAvgs Null: Exit Function 8/6/93 se reemplaza con la fecha más temprana de los datos en su tabla. MySum Store (i) MySum Siguiente i MAvgs MySum / Períodos MyRST. Close End Function Cree la siguiente consulta basada en la tabla Table1: Consulta: Query1 -------------------- ----------------------------------- Campo: CurrencyType Campo: TransactionDate Campo: Rate Campo: Expr1: MAvgs ( 3, TransactionDate, CurrencyType) NOTA: Esta consulta generará un promedio móvil de tres semanas de los datos de tasa. Para calcular una media móvil más larga o más corta, cambie el número 3 en la columna Expr1 de las consultas al valor que desea calcular. Ejecute la consulta. Tenga en cuenta que ve el siguiente promedio móvil de tres semanas para cada moneda. Un valor Nulo indica que no había suficientes valores anteriores para calcular ese promedio de semanas. CurrencyType TransactionDate Rate Expr1 Marca 08/06/93 0,5600 Marca 08/13/93 0,5700 Marca 08/20/93 0,5800 0,57 Marca 08/27/93 0,5900 0,58 Marca 09/03/93 0,6000 0,59 Yen 08/06/93 0,0079 Yen 08/13/93 0.0082 Yen 08/20/93 0.0085 0.0082 Yen 08/27/93 0.0088 0.0085 Yen 09/03/93 0.0091 0.0088 RE: Moving Average Cálculo dhookom (Programador) 28 Jun 10 21:15 ¿Qué edad tiene ese código No utiliza explícitamente DAO y no menciona que esto no funcionará con tablas vinculadas. CODE Dim MyDB como DAO. Database, MyRST como DAO. Recordset. Yo usaría una subconsulta en lugar de un conjunto de registros. Puede ser algo así como: CODE SELECT CurrencyType, TransactionDate, Rate, (SELECT Prom (Rate) FROM Tabla1 B WHERE A. CurrencyType B. CurrencyType Y A. TransactionDate ENTRE B. TransactionDate - 14 Y B. TransactionDate) FROM Tabla1 A RE: Moving Average Cálculo Eso es realmente perfecto. Realmente aprecio tu ayuda. Sin embargo, el código que usted dio es el cálculo de la media móvil de 14 días adelante (colocando la media móvil en el registro para el día 1 de la media, donde quería que fuera un promedio retroactivo, colocado en el registro 14). Cambié ligeramente a lo siguiente y parece estar funcionando SELECT A. CurrencyType, A. TransactionDate, A. Rate, (SELECT Avg (Rate) FROM Tabla1 B WHERE A. CurrencyType B. CurrencyType Y B. TransactionDate ENTRE A. TransactionDate - 14 AND A. TransactionDate) AS Expr1 FROM Table1 AS A Usted puede ver, todo lo que hice fue intercambiar A por B en la cláusula where. Esta es una gran ayuda para mí y realmente lo aprecio. No he visto la codificación como esta antes, y honestamente, yo realmente no lo entiendo. No sé cómo el SQL entiende lo que B y A son. Estoy asumiendo que están creando algún tipo de referencia alternativa a la Tabla 1. Si usted puede dar cualquier orientación que realmente apreciaría. También, tal vez alguna referencia al material que podría mirar Estoy siempre muy emocionado de aprender algo nuevo acerca de VBA / SQL, y realmente aprecio su ayuda RE: Moving Average Cálculo PHV (MIS) 29 Jun 10 12:22 entiende lo que B Y A son ellos son alias es RE: Moving Average Calculation Gracias, PHV. Está haciendo mejor sentido ya RE: Moving Average Cálculo joshery420 (TechnicalUser) 6 Jul 10 15:06 Guau, nunca miró la vista de SQL antes. Extremadamente servicial. Estoy tratando de obtener este código para funcionar en mi propio conjunto de datos y Im atascado en un problema en particular. Pd2004, no estoy seguro de si el nuevo código de subconsulta funcionaba igual que su antiguo código VBA o no, pero con mis datos todavía muestra el promedio de balanceo incluso si no hay suficientes días para crear esa longitud de un promedio. p. ej. Si estoy realizando una media móvil de 7 días, el día 1 muestra los mismos datos en la columna 7DayAvg como lo hace en la columna de datos diarios. El día 2 mostraría el promedio de los días 1 y 2, etc. ¿O cualquiera de ustedes sabe cómo arreglar esto por casualidad También, gracias por el gran código PHV. RE: Moving Average Cálculo joshery420 (TechnicalUser) 6 Jul 10 15:08 Woops, destinado a gracias dhookom por la punta del código, no PHV. Pero bueno, gracias a los dos. XD RE: Moving Average Calculation Dejaré las mejores soluciones para los profesionales aquí, pero puedes ver en mi publicación original cómo el ejemplo de Microsoft Help intenta manejar eso. Aquí está el código: Si StartDate lt 8/6/93 Luego MAvgs Null: Exit Function 8/6/93 se reemplaza con la fecha más temprana de los datos en su tabla. Sólo están saliendo de la función si la fecha no se ajusta a los criterios. No sé si podría incorporar algo así en el código de aliases proporcionado por dhookem. No me gusta su manera de manejar esto, y sospecho que dhookem proporcionará una solución mucho más elegante. Para mis propósitos el asunto que usted describe no es una preocupación, pero estaré interesado en ver cualquier solución. RE: Moving Average Cálculo dhookom (Programador) 6 Jul 10 17:05 Usted podría intentar usar IIf () para probar un recuento del número de registros. Cuidado: el código del bloc de notas no comprobado sigue: CODE SELECT A. CurrencyType, A. TransactionDate, A. Rate, IIF ((SELECT Count (Rate) FROM Tabla1 C WHERE A. CurrencyType C. CurrencyType YC. TransactionDate ENTRE A. TransactionDate - 14 AND A. TransactionDate) 7, (SELECT Avg (Tasa) DE Tabla1 B WHERE A. CurrencyType B. CurrencyType Y B. TransactionDate ENTRE A. TransactionDate - 14 AND A. TransactionDate), Null) AS Expr1 DE Tabla1 AS A RE: Moving Average Cálculo

No comments:

Post a Comment