Friday 14 July 2017

Sql 12 Month Gleitender Durchschnitt


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 werde, zu tun, ist, einen 12-monatigen gleitenden Durchschnitt zu beginnen, der 112012 für jeden Repräsentanten folgt, wie folgt: wo jede Zeile repräsentiert Der 12-Monats-Gleitender Durchschnitt für die Rep. Zum angegebenen Zeitpunkt. 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. Fragte am 10.10 um 14: 47Dies ist eine immergrüne Joe Celko Frage. Ich ignoriere die DBMS-Plattform. Aber auf jeden Fall konnte Joe vor mehr als 10 Jahren mit Standard-SQL antworten. Joe Celko SQL Puzzles and Answers Zitat: Dieser letzte Update-Versuch schlägt vor, dass wir das Prädikat verwenden könnten, um eine Abfrage zu konstruieren, die uns einen gleitenden Durchschnitt geben würde: Ist die zusätzliche Spalte oder die Abfrage besser angegangen Die Abfrage ist technisch besser, weil der UPDATE-Ansatz wird Denormalisieren der Datenbank. Allerdings, wenn die historischen Daten aufgezeichnet werden nicht zu ändern und die Berechnung der gleitenden Durchschnitt ist teuer, können Sie die Verwendung der Spalte Ansatz. SQL Puzzle Abfrage: mit allen Mitteln einheitlich. Sie werfen einfach auf die passende Gewicht Eimer abhängig von der Entfernung von der aktuellen Zeitpunkt. Zum Beispiel quottake weight1 für datapoints innerhalb von 24hrs aus aktueller datapoint weight0.5 für datapoints innerhalb von 48hrsquot. In diesem Fall ist es wichtig, wie viel aufeinanderfolgende Datenpunkte (wie 6:12 Uhr und 11:48 Uhr) von einander entfernt sind. Ein Anwendungsfall, den ich mir vorstellen kann, wäre ein Versuch, das Histogramm zu glätten, wo Datapunkte nicht dicht genug sind, ndash msciwoj Mai 27 15 at 22:22 Ich bin mir nicht sicher, dass Ihr erwartetes Ergebnis (Output) klassisch einfaches (rollendes) Durchschnitt für 3 Tage zeigt. Denn zum Beispiel gibt das erste Dreifach von Zahlen per Definition: aber du erwartest 4.360 und seine Verwirrung. Trotzdem schlage ich die folgende Lösung vor, die die Fensterfunktion AVG verwendet. Dieser Ansatz ist viel effizienter (klar und weniger ressourcenintensiv) als SELF-JOIN in anderen Antworten eingeführt (und Im überrascht, dass niemand eine bessere Lösung gegeben hat). Sie sehen, dass AVG mit Fall verpackt wird, wenn rownum gt p. days dann, um NULLs in den ersten Reihen zu zwingen, wo 3 Tagesbewegungsmitte bedeutungslos ist. Antwortete am 23. Februar 16 um 13:12 Wir können Joe Celkos schmutzige linke äußere Verknüpfungsmethode anwenden (wie oben von Diego Scaravaggi zitiert), um die Frage zu beantworten, wie es gefragt wurde. Erzeugt die angeforderte Ausgabe: beantwortet Jan 9 16 bei 0:33 Deine Antwort 2017 Stack Exchange, Wenn du diese Nachricht siehst, dein Browser hat entweder deaktiviert oder unterstützt JavaScript nicht. Um die vollständigen Funktionen dieses Hilfesystems zu nutzen, wie zB die Suche, muss Ihr Browser JavaScript-Unterstützung aktiviert haben. Gewichtete Bewegungsdurchschnitte bei einfacher gleitender Durchschn. Wird jeder Datenwert in der Windowquot, in dem die Berechnung durchgeführt wird, eine gleiche Bedeutung oder Gewicht gegeben. Es ist oft der Fall, vor allem in der Finanzpreisdatenanalyse, dass chronologisch neuere Daten ein größeres Gewicht tragen sollten. In diesen Fällen wird Weighted Moving Average (oder Exponential Moving Average - siehe folgendes Thema) die Funktionalität oft bevorzugt. Betrachten Sie die gleiche Tabelle der Verkaufsdatenwerte für zwölf Monate: Um einen gewichteten beweglichen Durchschnitt zu berechnen: Berechnen Sie, wie viele Intervalle von Daten an der Moving Average-Berechnung teilnehmen (d. h. die Größe der Berechnung quotwindowquot). Wenn das Berechnungsfenster n ist, dann wird der aktuellste Datenwert im 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 beweglichen Durchschnitt über dieses Fenster zu geben. Platzieren Sie den gewichteten Moving Average Wert in einer neuen Spalte entsprechend der oben beschriebenen übergeordneten Mittelwertpositionierung. Um diese Schritte zu veranschaulichen, ist zu prüfen, ob im Dezember ein 3-monatiger gewichteter Umsatzkurs im Dezember erforderlich ist (unter Verwendung der obigen Tabelle der Verkaufswerte). Der Begriff quot3-monthquot impliziert, dass die Berechnung quotwindowquot 3 ist, daher sollte der gewichtete Moving Average Berechnungsalgorithmus für diesen Fall sein: Oder wenn ein 3-Monats-gewichteter Moving Average über den gesamten ursprünglichen Datenbereich ausgewertet wurde, wäre das Ergebnis : 3-Monats-gewichteter bewegter Durchschnitt

No comments:

Post a Comment