SAS/Base® – Généralités

Articles parus

FAQs

  • Comment obtenir la liste des bibliothèques assignées et utilisables dans la session SAS en cours ? Réponse
  • Lors de l'exécution d'un programme en batch ou en non-interactif, dès qu'une erreur intervient, pourquoi la suite du programme n'est-elle pas exécutée ? Réponse 
  • Comment exécuter un programme SAS en batch ? Réponse
  • Comment créer un répertoire Windows avec SAS ? Réponse
  • Comment définir un mot de passe sur une table SAS et comment accéder à cette table ? Réponse

Autres FAQs SAS/Base®

Procédures, Instructions et Fonctions | Macro-langage | Traitement des fichiers externes | Interface, Log, Output | Exemples | ODS

Réponses

Caractéristiques :
  • Catégories : SAS/BASE
  • OS : Windows
  • Version : 9.3 et au-delà
  • Vérifié en février 2014
Comment obtenir la liste des bibliothèques assignées et utilisables dans la session SAS en cours ?

La vue SASHELP.VLIBNAM vous permet de visualiser toutes les bibliothèques assignées pour la session SAS courante.

L'exécution du code ci-dessous liste également les bibliothèques assignées pour la session SAS courante, dans le journal :

Libname _all_ list;

 

Aide en ligne :  Libname statementSASHELP.VLIBNAM

 

Caractéristiques :
  • Catégories : Système
  • OS : Unix, Windows, z/OS
  • Version : SAS® 8.2 et au-delà
  • Vérifié en octobre 2009
Lors de l'exécution d'un programme en batch ou en non-interactif, dès qu'une erreur intervient, pourquoi la suite du programme n'est-elle pas exécutée ?

Par défaut, en batch, SAS est démarré en mode ‘Syntaxcheck’ : dès qu’une erreur est rencontrée, l’option OBS est positionnée à 0, ainsi le code est simplement validé mais non exécuté. Cela permet de ne pas écraser des données valides alors qu’une erreur est survenue.

La log indique d'ailleurs ceci :
NOTE: The SAS System stopped processing this step because of errors.
NOTE: SAS set option OBS=0 and will continue to check statements.
      This may cause NOTE: No observations in data set.

Ce fait est décrit dans la Usage Note SN-007751, 'Error messages that cause SAS to enter syntax check mode'.

Pour passer en mode 'nosyntaxcheck', il y a plusieurs possibilités :

  • vous pouvez ajouter une instruction OPTION dans l'autoexec de SAS ou bien au sein du programme :

options NOSYNTAXCHECK ;

  • vous pouvez également mettre l'option dans le fichier de configuration (sasv8.cfg ou sasv9.cfg):

-NOSYNTAXCHECK

Aide en ligne :  SAS 9.2, SAS 9.1, SAS 8.2 

 
 
 
Caractéristiques :
  • Catégories : SAS/Base
  • OS : Unix, Windows
  • Version : SAS® 8.2 et au-delà
  • Vérifié en Janvier 2010

Comment exécuter un programme SAS en batch ? 
 
Depuis un prompt système ou dans un script, vous pouvez utiliser une commande de ce type :

!SASROOT/sas  /mon_prog.sas -altlog /mon_prog.log 

où !SASROOT représente le chemin absolu où se situe l'exécutable sas sur votre système.

représente le chemin où se situe votre programme.
représente le chemin où vous souhaitez enregistrer le journal d'exécution de votre programme.

Remarque :
L'option -altlog est optionnelle. Elle permet de sauvegarder le journal afin de voir si l'exécution s'est déroulée correctement ou non.

Aide en ligne :  Unix, Windows (PDF)

 
 
 
 
Caractéristiques :
  • Catégories : SAS/Base
  • OS : Unix, Windows
  • Version : SAS® 8.2 et au-delà
  • Vérifié en Juin 2011
Comment créer un répertoire Windows avec SAS ?

Les commandes X permettent de soumettre une commande Windows sans mettre fin à votre session SAS.
La commande mkdir permet la création d'un répertoire.

Un exemple de code :

%let path=c:\mondossier; /*Création d'une macro-variable avec le chemin du répertoire nommé "mondossier" */

/* NOXWAIT : la fenêtre DOS se ferme automatiquement */
/* XSYNC   : SAS attend que DOS ait terminé */

option NOXWAIT XSYNC; 

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

Aide en ligne sur X command

 


 
Caractéristiques :
  • Catégories : SAS/Base
  • OS : Unix, Windows
  • Version : SAS® 9.2 et 9.3
  • Vérifié en août 2012
Comment définir un mot de passe sur une table SAS et comment accéder à cette table ? 

Vos données sont confidentielles, vous ne souhaitez pas que vos tables SAS soient modifiées par n'importe qui : Les tables SAS peuvent être protégées par des mots de passe en écriture, lecture et modification.

Nous allons voir ici, comment créer une table SAS protégée par mot de passe, grâce à une étape DATA et aux mots clés suivants :

  • read   protège la table en lecture.
  • write  protège de la modification d’observations dans la table SAS.
  • alter protège de la suppression ou du remplacement de la table SAS.
  • pw protège la table SAS avec le même mot de passe pour toutes les actions ci-dessus (read+write+alter).

1) Voici un exemple de création d’une table avec des mots de passe différents pour la lecture, pour l’écriture et pour la modification :

Pour pouvoir éditer cette table, vous devrez préciser le mot de passe "read" :

2) Voici un exemple de création d'une table avec un même mot de passe pour les actions read+write+alter:

Pour pouvoir éditer cette table, vous devrez préciser le mot de passe "pw" ou "read".

Si vous essayez d'accéder à cette table sans préciser le mot de passe, vous aurez cette alerte :

Aide en ligne :