Annonce

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

La 4ème édition de mon ouvrage est disponible depuis le 11 avril 2019 !

Où trouver cet ouvrage ?


#1 11-10-2017 06:38:13

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

[archive] Min et Max sont dans un bateau

Deux exercices en un cette semaine....

Le programme suivant crée la table TEST :

Code:

Data test(drop=i);
   call streaminit(123456);
   do i=1 to 50;
      x=int(rand("uniform")*50);
      output;
   end;
run;

On souhaite obtenir une table qui vous donnera le minimum et le maximum de X :
http://www.sas-sr.com/img/minmax1.png

Facile me direz vous et vous imaginez déjà que vous allez passer par PROC MEANS et la création d'une table de résultats.

Si vous vous dites cela, c'est que vous ne me connaissez pas encore.... vous allez devoir obtenir ce résultat au moyen d'une unique étape DATA (et d'un proc print;run; bien entendu).

Et comme c'est (presque) simple, vous vous amuserez aussi avec cette seconde table :

Code:

data test3(drop=i);
   call streaminit(123456);
   length client $ 7 ;
   do client='Pierre','Paul','Jacques';
      do i=1 to 50; 
         x=int(rand("uniform")*50);
         output;
      end;
   end;
run;

il s'agit ici, et toujours au moyen uniquement d'une étape DATA d'obtenir une table de trois observations, vous présentant, pour chaque client, les valeurs min et max prises par X. Vous avez droit, suite à votre étape DATA à un "proc print;run;"

Vous obtiendrez ceci :
http://www.sas-sr.com/img/minmax2.png

Je réponds à l'avance à la question que certains ne manqueront pas de me poser "mais on ne peut pas utiliser, avant l'étape DATA, une procédure (au hasard... PROC SORT) ?" - la réponse est 'non'... uniquement une étape DATA

et si vous vous dites "c'est facile, faut faire ça et ça", faites le et vérifiez que vous obtenez bien le résultat attendu...

Ne spoilez pas ce sujet des beaux mercredis en postant votre réponse dans le forum de discussions, envoyez moi un mail ;-)

à la semaine prochaine


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