Tuesday 26 December 2017

How to calculate glidande medelvärde in sql


Flyttande medelvärde I det här exemplet lär du dig hur du beräknar glidande medelvärdet för en tidsserie i Excel. Ett glidande medel används för att jämna ut oegentligheter (toppar och dalar) för att enkelt kunna känna igen trender. 1. Låt oss först titta på våra tidsserier. 2. Klicka på Dataanalys på fliken Data. Obs! Kan inte hitta knappen Data Analysis Klicka här för att ladda verktyget Analysis ToolPak. 3. Välj Flytta genomsnitt och klicka på OK. 4. Klicka i rutan Inmatningsområde och välj intervallet B2: M2. 5. Klicka i rutan Intervall och skriv 6. 6. Klicka i rutan Utmatningsområde och välj cell B3. 8. Skriv ett diagram över dessa värden. Förklaring: Eftersom vi ställer intervallet till 6 är det rörliga genomsnittet genomsnittet för de föregående 5 datapunkterna och den aktuella datapunkten. Som ett resultat utjämnas toppar och dalar. Diagrammet visar en ökande trend. Excel kan inte beräkna det rörliga genomsnittet för de första 5 datapunkterna, eftersom det inte finns tillräckligt med tidigare datapunkter. 9. Upprepa steg 2 till 8 för intervall 2 och intervall 4. Slutsats: Ju större intervall desto mer toppar och dalar släpper ut. Ju mindre intervallet desto närmare de rörliga medelvärdena är de faktiska datapunkterna. Jag arbetar med SQL Server 2008 R2 och försöker beräkna ett glidande medelvärde. För varje post enligt min uppfattning vill jag samla värdena för de 250 tidigare posterna och beräkna sedan genomsnittet för det här urvalet. Mina synkolumner är följande: TransaktionsID är unik. För varje TransaktionsID. Jag skulle vilja beräkna medelvärdet för kolumnvärde, över tidigare 250 poster. Så för TransactionID 300, samla alla värden från tidigare 250 rader (vy sorteras nedåt med TransactionID) och sedan i kolumnen MovAvg skriv resultatet av genomsnittet av dessa värden. Jag letar efter att samla in data inom en rad poster. frågade 28 okt 14 kl 20:58 Detta är en Evergreen Joe Celko fråga. Jag ignorerar vilken DBMS-plattform som används. Men i alla fall kunde Joe svara mer än 10 år sedan med standard SQL. Joe Celko SQL Pussel och svar citation: Det senaste uppdateringsförsöket antyder att vi skulle kunna använda predikatet för att konstruera en fråga som skulle ge oss ett glidande medelvärde: Är den extra kolumnen eller frågeställningen bättre Frågan är tekniskt bättre eftersom UPDATE-metoden kommer att denormalisera databasen. Om de historiska data som registreras inte kommer att förändras och beräkningen är det rörliga genomsnittet är dyrt, kan du överväga att använda kolumninriktningen. SQL Pusselfråga: för all del enhetlig. Du kastar bara till lämplig vikthink beroende på avståndet från aktuell tidpunkt. Till exempel kvittot vikt1 för datapoäng inom 24 timmar från nuvarande datapoint weight0.5 för datapoäng inom 48hrsquot. I det fallet spelar det roll hur mycket efterföljande datapunkter (som 6:12 och 11:48) är avlägsna från varandra. Ett användningsfall som jag kan tänka på skulle vara ett försök att släta histogramet där datapunkter inte är täta nog. Ndash msciwoj 27 maj 15 på 22:22 Jag är inte säker på att ditt förväntade resultat (output) visar klassiskt enkelt rörligt (rullande) medelvärde i 3 dagar. Eftersom exempelvis den första trippeln av siffror per definition ger: men du förväntar dig 4,360 och det är förvirrande. Ändå föreslår jag följande lösning, som använder fönsterfunktion AVG. Detta tillvägagångssätt är mycket effektivare (klart och mindre resursintensivt) än SELF-JOIN infört i andra svar (och jag är förvånad över att ingen har givit en bättre lösning). Du ser att AVG är förpackad med fall då rownum gt pays sedan för att tvinga NULL s i första raden, där 3 dagars rörande medelvärde är meningslöst. svarade 23 februari 16 kl 13:12 Vi kan använda Joe Celkos smutsiga vänster yttre anslutningsmetod (som citerad ovan av Diego Scaravaggi) för att svara på frågan som den ställdes. Genererar den begärda utgåvan: svarat jan 9 16 kl 0:33 Ditt svar 2017 Stack Exchange, Inc

No comments:

Post a Comment