Tuesday 3 January 2017

Moving Average Sql Orakel

Wenn Sie diese Meldung sehen, hat Ihr Browser entweder deaktiviert oder unterstützt kein JavaScript. Um die vollständigen Funktionen dieses Hilfesystems, z. B. die Suche, nutzen zu können, muss Ihr Browser JavaScript-Unterstützung aktiviert haben. Weighted Moving Averages Mit Simple Moving Averages wird jeder Datenwert in dem Windowquot, in dem die Berechnung durchgeführt wird, eine gleiche Bedeutung oder Gewicht zugewiesen. Es ist oft der Fall, vor allem in der Finanzdaten-Daten-Analyse, dass mehr chronologisch jüngsten Daten ein größeres Gewicht tragen sollte. In diesen Fällen wird der gewichtete gleitende Durchschnitt (oder der exponentielle gleitende Durchschnitt - siehe das folgende Thema) häufig bevorzugt. Betrachten Sie die gleiche Tabelle der Verkaufsdatenwerte für zwölf Monate: Um einen gewichteten gleitenden Durchschnitt zu berechnen: Berechnen Sie, wie viele Intervalle von Daten an der Moving Average Berechnung beteiligt sind (d. h. die Größe des rechnerischen Windowquot). Wenn das Berechnungsfenster n ist, wird der jüngste Datenwert in dem Fenster mit n multipliziert, der nächstletzte multipliziert mit n-1, der Wert vor dem multipliziert mit n-2 und so weiter für alle Werte im Fenster. Teilen Sie die Summe aller multiplizierten Werte durch die Summe der Gewichte, um den gewichteten gleitenden Durchschnitt über diesem Fenster zu erhalten. Stellen Sie den Weighted Moving Average-Wert in eine neue Spalte entsprechend der oben beschriebenen Positionierung der mittleren Mittelwerte ein. Um diese Schritte zu veranschaulichen, sollten Sie berücksichtigen, ob ein dreimonatiger gewichteter gleitender Durchschnitt der Verkäufe im Dezember erforderlich ist (unter Verwendung der obigen Tabelle der Verkaufswerte). Der Begriff "3-monthquot" impliziert, dass das Berechnungsfenster für den Windowquot 3 ist, daher sollte der Algorithmus für den Weighted Moving Average-Berechnungsfaktor für diesen Fall sein: Oder, wenn ein 3-Monats-Weighted Moving Average über den gesamten ursprünglichen Datenbereich ausgewertet würde : 3-Monats-Weighted Moving AverageUm eine einfache gleitende Durchschnitt zu glätten Daten ist eine ziemlich beliebte Technik. Es ist zu schlecht das primäre Beispiel in der SQL Anywhere-Hilfe ist weit von einfach: Was macht dieses Beispiel so komplex Neben der Problem-Anweisung, das heißt: Berechnen Sie den gleitenden Durchschnitt aller Produktverkäufe, nach Monat, im Jahr 2000. Heres, was macht Es komplex: zwei Verweise auf die AVG () - Funktion, eine GROUP BY (die alle von sich selbst macht fast jede SELECT ein Kopf-Scratcher),. Eine Stealth-WINDOW-Klausel eine WINDOW-Klausel, die nicht sogar das WINDOW-Schlüsselwort verwendet. So dass die Uneingeweihte (die Leute, die Beispiele brauchen mehr als jeder andere) ist es nicht offensichtlich, dass ein WINDOW beteiligt ist überhaupt. Nicht nur eine WINDOW-Klausel, denken Sie daran, aber eine, die jede einzelne Komponente enthält, können Sie in einem WINDOW: eine PARTITION BY, eine RANGE-Klausel. Nicht eine einfache ROWS-Klausel, sondern eine vollwertige RANGE-Klausel, die eine intime Beziehung mit dem ORDER BY hat. Ich weiß, was eine Zeile ist, aber was die redacted ist ein RANGE Aber warten, theres mehr: Die Auswahl von RANGE über ROWS in diesem Beispiel ist entscheidend für die korrekte Operation der Abfrage. (Für eine ausführlichere Erörterung dieses speziellen Beispiels siehe Beispiel 23 - Berechnen eines bewegten Durchschnitts in Glenn Paulleys exzellentem OLAP-Weißbuch.) Jetzt können wir wieder auf den richtigen Weg zurückkehren: Ein wirklich einfacher gleitender Durchschnitt Das folgende Beispiel zeigt einen Wert von 10 Tagen an Daten zusammen mit dem gleitenden Durchschnitt von heutigem Wert und gestern: Die WINDOW-Klausel auf den Zeilen 21 bis 23 definiert ein sich bewegendes Fenster, das zwei Zeilen enthält: die heutige Zeile (CURRENT ROW) und die gestern Zeile (1 PRECEDING): die WINDOW ORDER BY-Klausel bestimmt was PRECEDING-Mittel (die vorhergehende Zeile durch t. entrydate) und die ROWS-Klausel bestimmt die Größe des Fensters (immer zwei Zeilen). Der Ausdruck AVG (t. value) OVER twodays auf Zeile 19 bezieht sich auf die WINDOW-Klausel nach Namen und weist SQL Anywhere an, den Durchschnitt der beiden Werte von t. value zu berechnen, die in dem 2-reihigen Schiebefenster vorhanden sind Zeile in der Ergebnismenge. Also, für 2012-02-02 der Durchschnitt von 10 und 20 ist 15.000000, für 2012-02-03 der Durchschnitt von 20 und 10 ist 15.000000, für 2012-02-04 der Durchschnitt von 10 und 30 ist 20.000000, für 2012- 02-10 der Durchschnitt von 10 und 60 ist 35.000000. Hoppla, was ist mit der ersten Zeile Die 2012-02-01 Zeile hat nicht eine PRECEDING Zeile, also was ist der Durchschnitt über das sich bewegende Fenster Laut Glenn Paulleys Weißbuch im Falle eines sich bewegenden Fensters, wird davon ausgegangen, dass Zeilen mit Null Werte existieren vor der ersten Zeile und nach der letzten Zeile in der Eingabe. Das bedeutet, wenn das sich bewegende Fenster 2012-02-01 als CURRENT ROW hat, enthält die Zeile 1 PRECEDING NULL-Werte. Und wenn SQL Anywhere ein AVG () berechnet, das einen NULL-Wert enthält, zählt es den NULL überhaupt nicht. Nicht im Zähler oder im Nenner bei der Berechnung des Durchschnitts. Heres Beweis: Thats, warum twodayaverage 10.000000 für die erste Reihe 2012-02-01. Geschrieben von Breck Carter um 15:47 Uhr


No comments:

Post a Comment