Les exemples utilisent des données générées (datalines) ou SASHELP.
1 Bloc de code
LIBNAME statement
Explication : Cet exemple montre l'affectation d'une bibliothèque SAS à un dossier local. L'instruction `LIBNAME` crée une référence (libref 'mylib') pointant vers un emplacement physique. Nous utilisons `V9` comme moteur de bibliothèque, qui est le moteur par défaut pour les fichiers SAS traditionnels. Ensuite, une petite table `test_data` est créée et sauvegardée dans cette bibliothèque. `PROC PRINT` est utilisée pour afficher le contenu de la table. Enfin, la bibliothèque est désaffectée de la session SAS avec `LIBNAME mylib clear;`.
Copié !
/* Crée un dossier temporaire pour la bibliothèque si nécessaire */
/* Remplacez 'chemin/vers/votre/bibliotheque' par un chemin réel */
/* Pour SAS Viya, cela pourrait être un chemin CAS ou un chemin de système de fichiers accessible */
/* Ici, nous utilisons un dossier local simulé pour l'exemple */
/* Affecte la bibliothèque 'mylib' au chemin spécifié */
libname mylib V9 '%sysfunc(pathname(WORK))/my_sas_library';
/* Crée une table simple dans la bibliothèque 'mylib' */
data mylib.test_data;
input id name $;
datalines;
1 John
2 Jane
3 Mike
;
run;
/* Affiche le contenu de la table */
proc print data=mylib.test_data;
title 'Contenu de mylib.test_data';
run;
/* Désaffecte la bibliothèque */
libname mylib clear;
1
/* Crée un dossier temporaire pour la bibliothèque si nécessaire */
2
/* Remplacez 'chemin/vers/votre/bibliotheque' par un chemin réel */
3
/* Pour SAS Viya, cela pourrait être un chemin CAS ou un chemin de système de fichiers accessible */
4
/* Ici, nous utilisons un dossier local simulé pour l'exemple */
5
6
/* Affecte la bibliothèque 'mylib' au chemin spécifié */
/* Crée une table simple dans la bibliothèque 'mylib' */
10
DATA mylib.test_data;
11
INPUT id name $;
12
DATALINES;
13
1 John
14
2 Jane
15
3 Mike
16
;
17
RUN;
18
19
/* Affiche le contenu de la table */
20
PROC PRINTDATA=mylib.test_data;
21
title 'Contenu de mylib.test_data';
22
RUN;
23
24
/* Désaffecte la bibliothèque */
25
LIBNAME mylib clear;
26
2 Bloc de code
LIBNAME statement avec options
Explication : Cet exemple illustre l'utilisation d'une option de bibliothèque. Le libref 'readonly' est affecté au moteur V9 avec l'option `ACCESS=READONLY`. Cela signifie que les utilisateurs ne pourront que lire les données de cette bibliothèque, et toute tentative d'écriture ou de modification (comme la création de 'new_table' dans l'exemple) entraînera une erreur SAS. Cela est utile pour protéger l'intégrité des données. Le code inclut une simulation de fichier existant pour que l'accès en lecture seule ait un sens.
Copié !
/* Affecte une bibliothèque en mode lecture seule */
libname readonly V9 '%sysfunc(pathname(WORK))/my_read_only_library' access=readonly;
/* Crée une table temporaire pour la démonstration */
data _null_;
file '%sysfunc(pathname(WORK))/my_read_only_library/sample.sas7bdat';
put 'This is a sample SAS dataset file.';
run;
/* Tente de créer une nouvelle table dans la bibliothèque en lecture seule (va échouer) */
data readonly.new_table;
x=1;
run;
/* Désaffecte la bibliothèque */
libname readonly clear;
1
/* Affecte une bibliothèque en mode lecture seule */
/* Tente de créer une nouvelle table dans la bibliothèque en lecture seule (va échouer) */
11
DATA readonly.new_table;
12
x=1;
13
RUN;
14
15
/* Désaffecte la bibliothèque */
16
LIBNAME readonly clear;
17
3 Bloc de code
Accès direct au fichier
Explication : Bien que l'utilisation d'un libref soit recommandée, cet exemple montre comment accéder à une table SAS en spécifiant directement son chemin d'accès complet et son nom de fichier entre guillemets. Cela fonctionne pour de nombreux éléments du langage SAS, mais n'offre pas la flexibilité et les avantages de la gestion par libref, notamment pour les options de moteur et la modification simple du chemin d'accès.
Copié !
/* Crée un dossier temporaire pour l'exemple */
/* Créons une table SAS temporaire directement dans un chemin */
data '%sysfunc(pathname(WORK))/my_direct_access_data.sas7bdat';
input val;
datalines;
10
20
30
;
run;
/* Accède à la table SAS directement par son chemin complet */
proc print data='%sysfunc(pathname(WORK))/my_direct_access_data.sas7bdat';
title 'Accès direct à la table';
run;
/* Note: Le fichier reste sur le disque après la session à moins d'être supprimé explicitement */
1
/* Crée un dossier temporaire pour l'exemple */
2
/* Créons une table SAS temporaire directement dans un chemin */
/* Note: Le fichier reste sur le disque après la session à moins d'être supprimé explicitement */
18
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.
« L'instruction LIBNAME est bien plus qu'une simple déclaration de chemin ; c'est le contrat qui définit comment SAS doit interagir avec votre stockage physique. Elle établit un pont entre le monde extérieur (Windows, Linux, Cloud) et votre session SAS. »
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.