Les exemples utilisent des données générées (datalines) pour les tables SAS afin d'assurer l'autonomie, et un fichier externe URL pour les données brutes.
1 Bloc de code
DATA STEP / PROC CONTENTS Data
Explication : Ce code crée une table SAS nommée 'mytable' avec une variable 'x' initialisée à 1. Puisqu'aucun libref n'est spécifié (nom à un seul niveau), la table est automatiquement stockée dans la bibliothèque temporaire Work. La procédure PROC CONTENTS affiche les métadonnées de cette table, confirmant son emplacement dans la bibliothèque Work. Cette méthode est idéale pour les données intermédiaires ou non persistantes.
Copié !
data mytable;
x=1;
run;
proc contents data=mytable;
run;
1
DATA mytable;
2
x=1;
3
RUN;
4
PROC CONTENTSDATA=mytable;
5
RUN;
2 Bloc de code
LIBNAME / OPTIONS / PROC PRINT Data
Explication : Cet exemple démontre comment désigner une bibliothèque 'User' pour stocker des données permanentes avec des noms à un seul niveau. Initialement, une table 'quarter1' est créée pour l'illustration. Ensuite, le libref 'sales' est assigné à un chemin permanent via l'instruction LIBNAME. L'option système USER=sales configure 'sales' comme la bibliothèque par défaut pour les noms à un seul niveau. Ainsi, PROC PRINT data=quarter1 lira la table depuis 'sales.quarter1'. Les blocs de code supplémentaires montrent des méthodes alternatives pour affecter la bibliothèque 'User', soit directement avec un libref 'user', soit via la fonction LIBNAME dans un DATA _NULL_ step, tout en obtenant le même comportement pour l'accès aux données. Notez que '/sas/data/permanent' est un chemin d'accès d'exemple, qui doit être remplacé par un chemin réel sur votre système.
Copié !
/* Création d'une table exemple pour les besoins de l'illustration */
data quarter1;
input Quarter $ Sales;
datalines;
Q1 100
Q2 150
Q3 200
Q4 250
;
run;
libname sales '/sas/data/permanent';
options user=sales;
proc print data=quarter1;
run;
/* Autre méthode d'affectation de la bibliothèque User */
libname user '/sas/data/permanent';
proc print data=quarter1;
run;
data _null_;
x=libname ('user', '/sas/data/permanent');
run;
proc print data=quarter1;
run;
1
/* Création d'une table exemple pour les besoins de l'illustration */
2
DATA quarter1;
3
INPUT Quarter $ Sales;
4
DATALINES;
5
Q1 100
6
Q2 150
7
Q3 200
8
Q4 250
9
;
10
RUN;
11
12
LIBNAME sales '/sas/data/permanent';
13
options user=sales;
14
PROC PRINTDATA=quarter1;
15
RUN;
16
17
/* Autre méthode d'affectation de la bibliothèque User */
18
LIBNAME user '/sas/data/permanent';
19
PROC PRINTDATA=quarter1;
20
RUN;
21
22
DATA _null_;
23
x=LIBNAME ('user', '/sas/data/permanent');
24
RUN;
25
PROC PRINTDATA=quarter1;
26
RUN;
3 Bloc de code
PROC PRINT
Explication : Cet exemple montre comment accéder à un jeu de données SAS en spécifiant son chemin d'accès physique complet et son nom de fichier (y compris l'extension .sas7bdat), le tout entre guillemets, au lieu d'utiliser un libref. Une table 'mydata' est d'abord créée dans la bibliothèque Work. Il est supposé que le fichier SAS correspondant 'mydata.sas7bdat' est ensuite enregistré dans un emplacement spécifique comme '/sas/data/temp/'. La procédure PROC PRINT peut alors lire directement ce fichier en utilisant le chemin complet. Cette méthode est utile lorsque l'on ne souhaite pas assigner de libref temporaire ou permanent, bien que de nombreux éléments de langage SAS préfèrent les librefs.
Copié !
/* Création d'une table exemple pour les besoins de l'illustration */
data work.mydata;
input ID Name $;
datalines;
1 John
2 Jane
;
run;
/* Supposons que 'mydata.sas7bdat' est stocké dans /sas/data/temp/ */
/* Remplacez '/sas/data/temp/mydata.sas7bdat' par le chemin réel de votre fichier */
proc print data='/sas/data/temp/mydata.sas7bdat';
run;
1
/* Création d'une table exemple pour les besoins de l'illustration */
2
DATA work.mydata;
3
INPUT ID Name $;
4
DATALINES;
5
1 John
6
2 Jane
7
;
8
RUN;
9
10
/* Supposons que 'mydata.sas7bdat' est stocké dans /sas/data/temp/ */
11
/* Remplacez '/sas/data/temp/mydata.sas7bdat' par le chemin réel de votre fichier */
12
PROC PRINTDATA='/sas/data/temp/mydata.sas7bdat';
13
RUN;
4 Bloc de code
FILENAME / DATA STEP / PROC PRINT Data
Explication : Cet exemple illustre l'utilisation d'un fileref pour référencer un fichier de données brutes externe (non-SAS). L'instruction FILENAME assigne le fileref 'test' à une URL distante contenant les données. Le DATA step 'credit' utilise l'instruction INFILE avec le fileref 'test' pour lire un ensemble spécifique de lignes (945-954) de ce fichier externe, en définissant les variables 'Account', 'Name', 'Type' et 'Transaction'. Enfin, PROC PRINT affiche la table SAS 'credit' nouvellement créée, vérifiant ainsi l'importation réussie des données externes. Les filerefs sont essentiels pour interagir avec des fichiers qui ne sont pas des membres de bibliothèques SAS, comme les fichiers texte ou CSV.
Copié !
filename test url "http://support.sas.com/publishing/cert/sampdata.txt";
data credit;
infile test firstobs=945 obs=954;
input Account $ 1-4 Name $ 6-22 Type $ 24 Transaction $ 26-31;
run;
proc print data=credit;
run;
1
filename test url "http://support.sas.com/publishing/cert/sampdata.txt";
2
DATA credit;
3
INFILE test firstobs=945 obs=954;
4
INPUT Account $ 1-4 Name $ 6-22 Type $ 24 Transaction $ 26-31;
5
RUN;
6
PROC PRINTDATA=credit;
7
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
« Pour vos travaux collaboratifs, préférez toujours les librefs aux chemins physiques en dur. Si vous devez traiter des fichiers dont le nom varie, utilisez l'option USER= pour simplifier vos instructions DATA et PROC, tout en garantissant que vos résultats critiques sont sauvegardés dans un répertoire sécurisé plutôt que dans la bibliothèque Work qui s'efface à chaque déconnexion »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.