Ich habe gekämpft, um einen Datensatz einen gleitenden Durchschnitt hinzuzufügen. Hier ist, was ich muss arbeiten mit:Computing Moving Average und Aktualisierung
ID, SamplerName, CreatedOn, Average, MovingAverage
1, type A, 05/01/2016, 100, null
2, type B, 05/01/2016, 110, null
3, type A, 05/02/2016, 105, null
4, type B, 05/02/2016, 102, null
Dies ist ein sehr vereinfachtes Beispiel für meine Daten, in Wirklichkeit habe ich etwa 15 SamplerNames und es ist möglich, in die Zukunft zu ändern.
Ich habe versucht, einen Cursor in einer Schleife durch die Liste, indem Sie einen Auswahl verschiedene auf dem Sampler Label in der Tabelle dann die MovingAverage Aktualisierung erzeugt die Einrichtung von AVG([Average]) OVER (ORDER BY [CreatedOn] ROWS UNBOUNDED PRECEDING)
etwas Ähnliches wie zu tun, aber ich lief in den Fehler
"Fensterfunktionen können nur in Select- oder Order-by-Klauseln erscheinen".
Ich habe eine Reihe anderer Lösungen ausprobiert, aber ich kann es nicht genau herausfinden und ich hoffte, dass jemand mir eine Hand geben könnte.
Sie oft berechnen können gleitenden Durchschnitt zur vorherigen Aufzeichnungen mit JOIN, dann AVG Verwendung auf den früheren Aufzeichnungen ausgewählt, aber ich bin mir nicht sicher, was genau deine Definition von gleitendem Durchschnitt ist hier. – Cato
@JaydipJ Ich bin mir nicht sicher, ob ich deinen Kommentar verstehe. Der gleitende Durchschnitt, den ich berechnen möchte, ist der gleitende Durchschnitt aller vorherigen SamplerNames. So sollte zum Beispiel die erste Instanz von TypeA, die am 1.5.2015 erstellt wurde, einen gleitenden Durchschnitt von 100 haben und TypeA am 5. 2. 2016 erstellt werden sei (100 +105)/2. TypeB wäre ähnlich und die Berechnungen auf den TypB SamplerNames beschränkt. – Austin