Annonce

Bienvenue sur le site support de mes ouvrages d'introduction à SAS

La 4ème édition de mon ouvrage est toujours disponible !

Où trouver cet ouvrage ?


#1 23-03-2016 07:17:15

SAS-SR
Administrateur
Lieu: Université d'Orléans
Date d'inscription: 01-09-2008
Site web

[archive] Une moyenne glissante sur 10 jours ?

Bonjour

Dans l'édition 3 de mon ouvrage, je présente page 180 un programme qui va calculer des moyennes glissantes mais il est un peu particulier : les données sont journalières et il suffit, pour calculer une moyenne glissante sur 5 jours de faire la somme des cinq dernières observations puis de diviser par 5...

Bon... dans la vraie vie, les choses peuvent être un peu plus compliquées et pour nous en rendre compte, nous allons imaginez le cas suivant (inspiré d'un cas réel.. merci à Juliette qui m'a contacté pour me faire part d'un problème très similaire à celui que je vous expose aujourd'hui pour ce sujet des beaux mercredis !)

Soit une entreprise qui dispose de trois sites et qui doit effectuer des interventions de maintenance à des intervalles non réguliers. On dispose d'une table dans laquelle on a une variable SITE (1, 2, 3), une date d'intervention (DATE) et une durée d'intervention (TEMPS). Voici un extrait de cette table :

Code:

Obs.    site          date    temps

   1      1     02/03/2016      11
   2      1     02/03/2016      26
   3      1     05/03/2016      11
   4      1     08/03/2016      20
   5      1     10/03/2016      24
   6      1     12/03/2016      24
   7      1     13/03/2016       8
   8      1     14/03/2016      25
   9      1     15/03/2016      25
  10      1     15/03/2016      30
  11      1     17/03/2016      23
  12      1     18/03/2016      18
  13      1     18/03/2016      22

Votre objectif sera de créer deux nouvelles variables :
1- la première variable vous indiquera, pour chaque observation, le nombre d'interventions observées au cours des 10 derniers jours sur le site
2- la second variable vous indiquera, pour chaque observation, la durée moyenne des interventions observées au cours des 10 derniers jours sur le site.

En ce qui concerne l'intervention observée le 18/03/2016, il y a eu 9 interventions au cours des 10 derniers jours (observations n°4 jusqu'à l'observation n°13, entre le 8 mars et le 18 mars) sur le site n°1 - ces interventions ont eu une durée moyenne de 21.9 minutes.

Vous modifierez ensuite votre programme pour que votre première variable indique le nombre d'interventions observées au cours des 10 derniers jours en excluant la dernière intervention (facile !). Le temps moyen d'intervention devra lui aussi exclure la durée de la dernière intervention (moins facile....).

le programme suivant crée la table que vous devez mobiliser pour cet exercice :

Code:

data test(drop=obs) ;
   do site=1 to 3;
      do obs=1 to 25+round(ranuni(123)*25);
         date='01mar2016'd+round(ranuni(234)*61);
         temps=5+round(ranuni(345)*25);
         output;
      end;
   end;
run;

proc sort data=test;
by site date;
run;

Amusez vous bien...


Ce sujet est maintenant archivé - seuls les utilisateurs inscrits de www.sas-sr.com peuvent consulter l'intégralité du sujet et les réponses aux questions posées.
pour vous identifier, suivez ce lien
pour vous inscrire, suivez ce lien

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr
Flux RSS