Annonce

Bienvenue sur le site support des ouvrages :
SAS - Introduction au décisionnel : méthode et maîtrise du langage
(1ère édition - épuisée)
SAS - Introduction pratique : du data management au reporting (2ème édition - épuisée)
SAS - Introduction au décisionnel : du data management au reporting (3ème édition - épuisée (hélas...))

la réponse à la question "mais où trouver la 3ème édition ?" est précisée ici


Retrouvez dans ce tiré à part, la préface écrite par Mouloud Dey, Directeur Business solutions et marchés émergents, SAS France,
l’introduction générale ainsi que le plan complet de l’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