Calcul des totaux cumulés et des moyennes mobiles

Analyse de séries temporelles dans SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Calcul des totaux cumulés

Équipe Match RunsScored
AZ 1 8
AZ 2 6
AZ 3 3
FLA 1 7
FLA 2 7
FLA 3 6
Équipe Match RunsScored TotalRuns
AZ 1 8 8
AZ 2 6 14
AZ 3 3 17
FLA 1 7 7
FLA 2 7 14
FLA 3 6 20
Analyse de séries temporelles dans SQL Server

Totaux cumulés

SELECT
    s.Team,
    s.Game,
    s.RunsScored,
    SUM(s.RunsScored) OVER (
        PARTITION BY s.Team
        ORDER BY s.Game ASC
        RANGE BETWEEN
              UNBOUNDED PRECEDING
              AND CURRENT ROW
    ) AS TotalRuns
FROM #Scores s;
  • Colonnes Team, Game, RunsScored
  • SUM(s.RunsScored)
  • OVER()
  • PARTITION BY s.Team
  • ORDER BY s.Game ASC
  • RANGE BETWEEN
  • UNBOUNDED PRECEDING
  • AND CURRENT ROW
Analyse de séries temporelles dans SQL Server

RANGE et ROWS

RANGE

  • Spécifie une plage de résultats
  • « Doublons » traités d'un seul coup
  • Ne prend en charge que UNBOUNDED et CURRENT ROW

ROWS

  • Spécifie le nombre de lignes à inclure
  • « Doublons » traités ligne par ligne
  • Prend en charge UNBOUNDED, CURRENT ROW et un nombre de lignes
Analyse de séries temporelles dans SQL Server

Calcul des moyennes mobiles

SELECT
    s.Team,
    s.Game,
    s.RunsScored,
    AVG(s.RunsScored) OVER (
        PARTITION BY s.Team
        ORDER BY s.Game ASC
        ROWS BETWEEN 1 PRECEDING
            AND CURRENT ROW
    ) AS AvgRuns
FROM #Scores s;
Équipe Match RunsScored AvgRuns
AZ 1 8 8
AZ 2 6 7
AZ 3 3 4
FLA 1 7 7
FLA 2 7 7
FLA 3 6 6
Analyse de séries temporelles dans SQL Server

Passons à la pratique !

Analyse de séries temporelles dans SQL Server

Preparing Video For Download...