faq sas

Creation: 14 janvier 2012
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2012 Jean-Louis BICQUELET-SALAÜN

SAS utilisation sommaire

Pour plus d'information au sujet de cette faq, contactez Jean-Louis BICQUELET


FAQ Revised: Tuesday 10 January 2012 09:27:38


Table of Contents

1. generalite
2. utilisation
3. calcul
4. systeme

1. generalite

1.1. qu'est ce que SAS?
SAS, qui signifie Statistical Analysis System ou Système d'Analyse Statistique.

C'est une logiciel qui permet la gestion du système d'informations, la saisie, la gestion et l'interrogation de données, l'analyse statistique et le reporting.

Les données que SAS gèrent peuvent être numérique ou alphanumérique.

1.2. quel est la structure d'un programem SAS?
Un programme SAS est constitué d'une suite d'étapes. Il existe 2 étapes principales :
  • DATA : définition des données
  • DATAPROC : traitements de ces données

Chaque étape se termine obligatoirement par un ";"

1.3. comment connaitre la version de sas?
Il faut écrire un programme

A l'execution SAS donne la version, les modules disponibles et la date d'expiration.


1                                                          The SAS System                              13:56 Monday, January 9, 2012

NOTE: Copyright (c) 2002-2003 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) 9.1 (TS1M3)
      Licensed to GIE AGORA, Site 0093036002.
NOTE: This session is executing on the AIX 5.3 platform.



NOTE: SAS 9.1.3 Service Pack 4

You are running SAS 9. Some SAS 8 files will be automatically converted
by the V9 engine; others are incompatible.  Please see
http://support.sas.com/rnd/migration/planning/platform/64bit.html

2                                                          The SAS System                              13:56 Monday, January 9, 2012

---SAS/ACCESS Interface to ORACLE                                          19NOV2012
---SAS/ACCESS Interface to INFORMIX                                        19NOV2012

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.04 seconds
      cpu time            0.02 seconds


1.4. Ou trouve-t-on de la documentation sur SAS?
le mieux est d'aller chercher sur le site de SAS:

Au dela les versions de SAS comemnce à dater.

1.5. Comment récupérer des informations relatives au JRE (Java Runtime Environment) associé à SAS Foundation

NOTE: SAS 9.1.3 Service Pack 4

You are running SAS 9. Some SAS 8 files will be automatically converted
by the V9 engine; others are incompatible.  Please see
http://support.sas.com/rnd/migration/planning/platform/64bit.html

2                                                          The SAS System                              14:18 Monday, January 9, 2012

path.separator = :
line.separator =

user.name = moi
user.home = /home/moi
user.dir = /home/moi/test
NOTE: PROCEDURE JAVAINFO used (Total process time):
      real time           1.01 seconds
      cpu time            0.01 seconds



2. utilisation

2.1. comment lancer un programme sas en ligne de comamnde?
sas programe.sas

SAS va générer un fichier de résultat programme.lst ainsi qu'un rapport d'execution programme.log

2.2. Comment supprimer l'affichage des numéros de pages dans l'output ?
Il suffit d'ajouter en tete du programme sas la ligne
Options number=0 ;


2.3. Comment avoir une information détaillée de l'execution d'un programme?
Il suffit d'ajouter un segment PROC CONTENTS dans votre programme.
PROC CONTENTS;
RUN;

Exemple de sortie:

                                                  The SAS System                            09:01 Tuesday, January 10, 2012

                                                       The CONTENTS Procedure

                   Data Set Name        WORK.MES_VENTES                                  Observations          4
                   Member Type          DATA                                             Variables             3
                   Engine               V9                                               Indexes               0
                   Created              Tuesday, January 10, 2012 09:01:01 AM            Observation Length    24
                   Last Modified        Tuesday, January 10, 2012 09:01:01 AM            Deleted Observations  0
                   Protection                                                            Compressed            NO
                   Data Set Type                                                         Sorted                NO
                   Label                                                        
                   Data Representation  HP_UX_64, RS_6000_AIX_64, SOLARIS_64, HP_IA64
                   Encoding             latin1  Western (ISO)                   


                                                 Engine/Host Dependent Information

                        Data Set Page Size          8192                        
                        Number of Data Set Pages    1                           
                        First Data Page             1                           
                        Max Obs per Page            337                         
                        Obs in First Data Page      4                           
                        Number of Data Set Repairs  0                           
                        File Name                   /usr/tmp/SAS_work26140015B004_giono/mes_ventes.sas7bdat
                        Release Created             9.0101M3                    
                        Host Created                AIX                         
                        Inode Number                16466                       
                        Access Permission           rw-rw----                   
                        Owner Name                  zhajp                       
                        File Size (bytes)           16384                       


                                             Alphabetic List of Variables and Attributes

                                                    #    Variable    Type    Len

                                                    3    Pub         Num       8
                                                    2    Ventes      Num       8
                                                    1    societe     Char      8

<:pre>


3. calcul

3.1. comment afficher une table?
DATA ventes;
INPUT societe$ Ventes Pub;
CARDS;
societe1 164 34
societe2 198 36
societe3 85 179
societe4 168 45
;
PROC PRINT DATA=lsas.essai;
RUN;

Le fichier resultat donne

                                                         The SAS System                          13:39 Monday, January 9, 2012   1

                                                  Obs    societe     Ventes    Pub

                                                   1     societe1      164      34
                                                   2     societe2      198      36
                                                   3     societe3       85     179
                                                   4     societe4      168      45

Les log d'execution:

NOTE: SAS initialization used:
      real time           0.03 seconds
      cpu time            0.01 seconds

1          DATA mes_ventes;
2          INPUT societe$ Ventes Pub;
3          CARDS;

NOTE: The data set WORK.VENTES has 4 observations and 3 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds


8          ;
9          PROC PRINT DATA=ventes;
10         RUN;

NOTE: There were 4 observations read from the data set WORK.VENTES.
NOTE: The PROCEDURE PRINT printed page 1.
NOTE: PROCEDURE PRINT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds


NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.05 seconds
      cpu time            0.03 seconds


3.2. Comment lire un fichier plat et l'exploiter dans un programme SAS ?
IL suffit de reprendre la section se trouvant dans CARDS d'un exemple précédent et de le sauver dans un fichier texte. EN utilisant INFILE le programme suivant affichera les données.
DATA ventes;
INFILE "2011.txt";
INPUT societe$ Ventes Pub;
RUN;
PROC PRINT DATA=ventes;
RUN;


3.3. comment faire une boucle en SAS?

La stucture est DO TO BY
END

DATA tab_boucles;
DO i=0 TO 10 BY 1;
v= i*10;
OUTPUT tab_boucles;
END;
RUN;



4. systeme

4.1. comment executer une commande systeme depuis SAS?
On utilise la commande X;

un exemple on va créer un répertoire et affiche le contenu du répertoire courrant:

%let path=tata;
option NOXWAIT XSYNC;

Data _null_;
X "mkdir &path"; /*Création du répertoire à l'aide de la macro-variable */
X "ls"; /* affichage du contennu du répertoire durant l execution */
run;

  • NOXWAIT : la fenêtre se ferme automatiquement
  • XSYNC : SAS attend que l'exec ait terminé


4.2. comment lancer un terminal à partir de SAS?
Il suffit d'écrire le programme suivant:
DATA _NULL_ ;
X ;
RUN ;

cela donne à l'execution

                          
Enter 'exit' to return to your SAS session.
$ ls
dos.log          equipe.lst       exec.log         javainfo.sas     sa               table.log        table.sas        ver.log          version.sas
dos.sas          equipe.sas       exec.sas         mail.log         sa2              table.log.1      tableold.sas     ver.sas
equipe.log       essaii.sas7bdat  javainfo.log     mail.sas         t.log            table.lst        tata             version.log
$ exit


4.3. comment envoyer un mail à partir de SAS?
On peut utiliser l'exemple suivant:
FileName SENDMAIL email 'jlbicquelet@free.fr' subject='test' ;

DATA _NULL_ ;
   File SENDMAIL ;
   Put 'verification mail a partir de sas !' ;
Run ;


4.4. comment recopier un fichier à partir de SAS?

Filename FilInput "lecture.txt";
Filename FilOut "sortie.txt";

DATA _null_;
/* lecture du fichier externe */
length enregis $200;
INFILE FilInput dlm='£'; /* afin de lire la totalité de l'enregistrement on cherche un caractère improbable */
input enreg;

/* ecriture dans le fichier de sortie (comme le mode append) */
file FilOut mod;
put enreg;
run;



Copyright (c) 2012 Jean-Louis BICQUELET

This list of questions and answers was generated by makefaq.