Wie Zu Berechnen A Moving Average In Ms Zugriff


Moving Average Dieses Beispiel lehrt Sie, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen können. Ein gleitender Durchschnitt wird verwendet, um Unregelmäßigkeiten (Gipfel und Täler) zu glätten, um Trends leicht zu erkennen. 1. Zuerst schauen wir uns unsere Zeitreihen an. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Kann die Schaltfläche Datenanalyse nicht finden Hier klicken, um das Analysis ToolPak-Add-In zu laden. 3. Wählen Sie Moving Average und klicken Sie auf OK. 4. Klicken Sie in das Feld Eingabebereich und wählen Sie den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3. 8. Zeichnen Sie einen Graphen dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der bisherigen 5 Datenpunkte und der aktuelle Datenpunkt. Dadurch werden Gipfel und Täler geglättet. Die Grafik zeigt einen zunehmenden Trend. Excel kann den gleitenden Durchschnitt für die ersten 5 Datenpunkte nicht berechnen, da es nicht genügend vorherige Datenpunkte gibt. 9. Wiederholen Sie die Schritte 2 bis 8 für Intervall 2 und Intervall 4. Fazit: Je größer das Intervall, desto mehr werden die Gipfel und Täler geglättet. Je kleiner das Intervall ist, desto näher sind die gleitenden Mittelwerte zu den aktuellen Datenpunkten. Ich habe eine Tabellenproduktion, die die folgende Struktur enthält: Ich habe Daten für jeden Repräsentanten von 112011 bis 812013. Was ich in der Lage sein möchte, ist ein 12 Monate gleitender durchschnittlicher Anfang 112012 für jeden Repräsentanten, wie folgt: wo jede Zeile den 12-Monats-Gleitender Durchschnitt für den Repräsentanten zum angegebenen Zeitpunkt darstellt. Ich fand einige Beispiele, die vage dicht waren und ich versuchte sie ohne Erfolg. Es scheint, dass die Hinzufügung einer Gruppe durch Repräsentationskomponente die Hauptabweichung von anderen Beispielen ist. Dies ist ungefähr so ​​weit wie ich bekam: Diese Abfrage scheint einen Gesamtdurchschnitt oder eine Summe zu ziehen, da es keine Gruppierung in der korrelierten Unterabfrage gibt. Wenn ich versuche zu gruppieren, bekomme ich einen Fehler, dass es nur eine Stunde zurückkehren kann. Gefragt 10. Oktober 13 um 14: 47Moving Durchschnittliche Berechnung Umzug Durchschnittliche Berechnung Umzug Durchschnittliche Berechnung Ich versuche, einen gleitenden Durchschnitt für eine Reihe von Daten zu berechnen. Ich möchte den gleitenden Durchschnitt für jeden Punkt innerhalb der Daten generieren, um in einem Graphen zu zeigen. Wie auch immer, unten ist ein Beispiel von MS Support. Ich habe dem Brief gefolgt, aber meine gibt keinen gleitenden Durchschnitt. Es wiederholt den gleichen Datenpunkt immer wieder (der erste Datenpunkt). Also, ich glaube nicht, dass die Funktion das Startdatum in der MyRST. Seek-Zeile findet, also nur den ersten Datenpunkt zurückgibt. Schließlich (vielleicht macht das wirklich einfach) Ich bin verwirrt darüber, wie die Indizes funktionieren. Ich dachte, du könntest nur einen Primärschlüssel haben, aber anscheinend kannst du mehrere Feldbeschränkungen erstellen. Ich habe versucht, dies mit der folgenden Datendefinitionsabfrage zu tun: ALTER TABLE Table1 ADD CONSTRAINT NoDupes UNIQUE (CurrencyType, TransactionDate) Sorry über die Länge dieses Beitrags. Ich schätze Ihre Hilfe. Die folgende Beispielfunktion berechnet die Bewegungsdurchschnitte auf der Grundlage einer Tabelle mit einem Multifeld-Primärschlüssel. Für dieses Beispiel werden die wöchentlichen Werte der Fremdwährungen verwendet. Gehen Sie folgendermaßen vor, um die Beispielfunktion zu erstellen: Erstellen Sie die folgende Tabelle und speichern Sie sie als Tabelle1: Tabelle: Tabelle 1 --------------------------- -------------- Feldname: CurrencyType Primärschlüsseldatentyp: Textfeldgröße: 25 Feldname: TransactionDate Primärschlüssel Datentyp: DateTime Format: Kurz Datum Feldname: Rate Datentyp: Währung Dezimalstellen: 4 Zeigen Sie die Tabelle in der Datenblattansicht an und geben Sie die folgenden Werte ein: CurrencyType TransactionDate Rate ------------------------------- ------------- Yen 8693 0.0079 Yen 81393 0.0082 Yen 82093 0.0085 Yen 82793 0.0088 Yen 9393 0.0091 Marke 8693 0.5600 Marke 81393 0.5700 Marke 82093 0.5800 Marke 82793 0.5900 Marke 9393 0.6000 Öffnen Sie ein neues Modul und geben Sie die Folgende Funktionen: Funktion MAVgs (Perioden als Integer, StartDate, TypeName) Dim MyDB Als DATABASE, MyRST als Recordset, MySum als Double Dim i, x Set MyDB CurrentDb () Set MyRST MyDB. OpenRecordset (Tabelle1) Auf Fehler Wiederaufnahme Weiter MyRST. Index PrimaryKey x Perioden - 1 ReDim Store (x) MySum 0 Für i 0 Zu x MyRST. MoveFirst MyRST. Seek, TypeName, StartDate Diese beiden Variablen sollten in der gleichen Reihenfolge sein wie die Primärschlüsselfelder in Ihrer Tabelle. Speichern (i) MyRSTRate Wenn ich x dann StartDate StartDate - 7 Die 7 hier wähle wöchentliche Daten 1 für tägliche Daten. Wenn StartDate lt 8693 Dann MAVgs Null: Exit Function 8693 wird durch das früheste Datum der Daten in Ihrer Tabelle ersetzt. MySum Store (i) MySum Weiter i MAVgs MySum Perioden MyRST. Close End Function Erstellen Sie die folgende Abfrage basierend auf der Tabelle Table1: Abfrage: Query1 --------------------- ---------------------------------- Feld: CurrencyType Feld: TransactionDate Feld: Rate Feld: Expr1: MAVgs (3 , TransactionDate, CurrencyType) HINWEIS: Diese Abfrage erzeugt einen dreimonatigen gleitenden Durchschnitt der Ratendaten. Um einen längeren oder kürzeren gleitenden Durchschnitt zu berechnen, ändern Sie die Nummer 3 in der Spalte Abfrage Expr1 auf den Wert, den Sie berechnen möchten. Führen Sie die Abfrage aus. Beachten Sie, dass Sie den folgenden dreiwöchigen gleitenden Durchschnitt für jede Währung sehen. Ein Nullwert gibt an, dass es nicht genügend frühere Werte gab, um diesen Wochendurchschnitt zu berechnen. WährungType TransaktionDatum Rate Expr1 Markierung 080693 0.5600 Marke 081393 0.5700 Marke 082093 0.5800 0.57 Marke 082793 0.5900 0.58 Marke 090393 0.6000 0.59 Yen 080693 0.0079 Yen 081393 0.0082 Yen 082093 0.0085 0.0082 Yen 082793 0.0088 0.0085 Yen 090393 0.0091 0.0088 RE: Bewegliche durchschnittliche Berechnung dhookom (Programmierer) 28 Jun 10 21:15 Wie alt ist dieser Code Es ist nicht explizit DAO und nicht erwähnen, dass dies nicht mit verknüpften Tabellen funktionieren wird. Dim MyDB als DAO. Database, MyRST als DAO. Recordset. Ich würde eine Unterabfrage eher als ein Recordset verwenden. Es könnte so aussehen: SELECT CurrencyType, TransactionDate, Rate, (SELECT Avg (Rate) FROM Table1 B WHERE A. CurrencyType B. CurrencyType AND A. TransactionDate BETWEEN B. TransactionDate - 14 UND B. TransactionDate) FROM Table1 A RE: Verschieben Durchschnittliche Berechnung Das ist wirklich perfekt. Ich schätze deine Hilfe sehr. Allerdings ist der Code, den Sie gaben, die Vorwärts-14-Tage-Gleitender Durchschnitt (Platzierung der gleitenden Durchschnitt in den Datensatz für Tag 1 des Durchschnitts, wo ich wollte, dass es sich um eine rückwärts schauende Durchschnitt, platziert in Rekord 14). Ich änderte nur etwas zu den folgenden und es scheint zu funktionieren SELECT A. CurrencyType, A. TransactionDate, A. Rate, (SELECT Avg (Rate) FROM Table1 B WHERE A. CurrencyType B. CurrencyType AND B. TransactionDate BETWEEN A. TransactionDate - 14 UND A. TransactionDate) AS Expr1 von Tabelle1 AS A Sie können sehen, alles was ich tat, war Austausch A für B in der where-Klausel. Das ist eine wirklich große Hilfe für mich und ich schätze es wirklich. Ich habe es noch nicht gesehen, und ehrlich gesagt, das verstehe ich nicht wirklich. Ich weiß nicht, wie die SQL versteht, was B und A sind. Ich gehe davon aus, dass sie eine Art alternativer Bezug auf Tabelle 1 schaffen. Wenn Sie irgendeine Anleitung geben können, würde ich es wirklich schätzen. Auch vielleicht ein Hinweis auf Material, das ich anschauen könnte Ich bin immer sehr aufgeregt, um etwas Neues über VBASQL zu lernen, und ich schätze wirklich Ihre Hilfe RE: Moving Average Calculation PHV (MIS) 29 Jun 10 12:22 versteht was B und A Sind sie alias es RE: Moving Average Calculation Vielen Dank, PHV. Es ist schon besser sinnvoll RE: Moving Average Calculation joshery420 (TechnicalUser) 6 Jul 10 15:06 Wow, schaute niemals auf SQL View vor. Sehr hilfreich Ich versuche, diesen Code zu bekommen, um in meinem eigenen Dataset zu funktionieren und Im auf einem bestimmten Problem festzuhalten. Pd2004, nicht sicher, ob der neue Unterabfrage-Code genauso funktioniert wie dein alter VBA-Code oder nicht, aber mit meinen Daten zeigt es immer noch den rollenden Durchschnitt, auch wenn es dort genug Tage gibt, um diese Länge eines Durchschnitts zu schaffen. z. B. Wenn Im, der einen 7-tägigen Roll-Durchschnitt durchführt, zeigt Tag 1 dieselben Daten in der Spalte 7DayAvg wie in der Tagesdatenspalte. Tag 2 würde den Durchschnitt von Tagen 1 und 2, etc. zeigen. Jeder von euch Jungs wissen, wie man dies durch Zufall zu beheben Auch danke für die tolle Code-Tipp PHV. RE: Verschieben Durchschnittliche Berechnung joshery420 (TechnicalUser) 6 Jul 10 15:08 Woops, gedankt, danke Dhookom für die Code-Tipp, nicht PHV. Aber hey, dank euch beiden. XD RE: Moving Average Calculation Ich werde die besten Lösungen für die Profis hier zu verlassen, aber Sie können in meinem ursprünglichen Post sehen, wie die Microsoft Hilfe Beispiel versucht, das zu behandeln. Hier ist der Code: Wenn StartDate lt 8693 Dann wird MAVgs Null: Exit Function 8693 durch das früheste Datum der Daten in deiner Tabelle ersetzt. Sie verlassen gerade die Funktion, wenn das Datum nicht den Kriterien entspricht. Ich weiß nicht, ob du so etwas in den Aliase-Code einbringen kannst, der von dhookem zur Verfügung gestellt wird. Ich mag ihre Art, dies zu behandeln, und ich vermute, dass dhookem eine viel elegantere Lösung bieten wird. Für meine Zwecke ist die Frage, die du beschreibst, kein Anliegen, aber ich werde daran interessiert sein, irgendwelche Lösungen zu sehen. RE: Moving Average Calculation dhookom (Programmierer) 6 Jul 10 17:05 Du könntest mit IIf () versuchen, auf die Anzahl der Datensätze zu testen. Achtung: Ungetesteter Notepad-Code folgt: SELECT A. CurrencyType, A. TransactionDate, A. Rate, IIF ((SELECT Count (Rate) FROM Table1 C WHERE A. CurrencyType C. CurrencyType AND C. TransactionDate BETWEEN A. TransactionDate - 14 UND A. TransactionDate) 7, (SELECT Avg (Rate) FROM Table1 B WHERE A. CurrencyType B. CurrencyType UND B. TransactionDate BETWEEN A. TransactionDate - 14 AND A. TransactionDate), Null) AS Expr1 AUS Tabelle1 AS A RE: Verschieben der durchschnittlichen Berechnung

Comments

Popular posts from this blog

Ichimoku Trading System Einstellungen

Jogar Pokemon Trading Card Spiel Online Gratis

Fxcm Forex Trading Apps