Les exemples utilisent des données générées (datalines) ou SASHELP.
1 Bloc de code
LIBNAME, DATA STEP, PROC PRINT Data
Explication : L'instruction LIBNAME assigne le libref sales à l'emplacement d'une bibliothèque. Substituez l'emplacement de votre bibliothèque par library-path. L'emplacement doit déjà exister et être accessible par le SAS Compute Server. L'étape DATA crée l'ensemble de données sales.quarter1 et le stocke dans l'emplacement physique de la bibliothèque. L'étape PROC PRINT fait référence à l'ensemble de données par son nom à deux niveaux, sales.quarter1.
Macro, %SYSFUNC, fonction LIBNAME, fonction LIBREF
Explication : La variable de macro mylibref spécifie le nom du libref, new. La variable de macro mydirectory spécifie l'emplacement de la bibliothèque. Substituez l'emplacement de votre bibliothèque par library-location. L'emplacement doit déjà exister et être accessible par le Compute Server. Une instruction IF-THEN-ELSE appelle la fonction de macro %SYSFUNC, qui à son tour appelle la fonction LIBNAME pour tenter l'affectation de la bibliothèque. Si une erreur ou un avertissement se produit, le message est écrit dans le journal SAS. Si aucune erreur ou aucun avertissement ne se produit, alors success est écrit dans le journal. Notez que dans une instruction de macro, vous n'entourez pas les chaînes de caractères de guillemets. Une autre instruction IF-THEN-ELSE appelle la fonction de macro %SYSFUNC, qui appelle la fonction LIBREF pour valider l'affectation de la bibliothèque. Encore une fois, si une erreur ou un avertissement se produit, le message est écrit dans le journal SAS. Si aucune erreur ou aucun avertissement ne se produit, un message informatif est écrit dans le journal. La macro test s'exécute.
%ELSE %put library &mylibref is assigned to &mydirectory;
10
%mend test;
11
12
%test
3 Bloc de code
LIBNAME
Explication : L'instruction LIBNAME concatène deux bibliothèques SAS. La figure suivante illustre la concaténation. Notez que l'index pour apples n'apparaît pas dans la concaténation. L'ensemble de données lib2.apples a un index. Cependant, l'ensemble de données lib1.apples n'a pas d'index, et lib1 est listée en premier dans la concaténation. SAS supprime l'index lorsque son ensemble de données associé ne fait pas partie de la concaténation. Si plusieurs catalogues portent le même nom, leurs entrées sont concaténées. Le catalogue lib3.formats combine les entrées des catalogues lib1.formats et lib2.formats. Pour plus de détails, consultez Catalog Concatenation dans SAS V9 LIBNAME Engine: Reference. L'idée clé est que la concaténation de bibliothèques vous permet de référencer plusieurs bibliothèques stockées à différents emplacements physiques. Lorsqu'un ensemble de données est ouvert pour l'entrée ou la mise à jour, les bibliothèques concaténées sont recherchées et la première occurrence de l'ensemble de données est utilisée. Lorsqu'un ensemble de données est créé, il est créé dans la première bibliothèque listée dans la concaténation, même si un fichier existe avec le même nom dans une autre bibliothèque de la concaténation. Un comportement indésirable pourrait se produire si des ensembles de données existent avec le même nom à différents emplacements.
Copié !
libname lib3 (lib1 lib2);
1
LIBNAME lib3 (lib1 lib2);
4 Bloc de code
OPTIONS, SIGNON, LIBNAME, PROC DATASETS
Explication : L'option système COMAMID= spécifie TCP/IP comme méthode d'accès aux communications. La variable de macro myserver est assignée au nom d'hôte du serveur SAS/CONNECT distant. L'instruction SIGNON fait référence à la variable de macro myserver suivie du numéro de port sur lequel le spawner SAS/CONNECT écoute. Si votre numéro de port ou nom de service est défini dans la variable de macro, omettez-le de l'instruction SIGNON. Dans l'instruction LIBNAME, ne spécifiez pas de moteur. Spécifiez l'emplacement de vos données, et spécifiez la variable de macro myserver dans l'option SERVER=. Incluez le numéro de port s'il est spécifié dans l'instruction SIGNON. PROC DATASETS s'exécute sur le client. Bien que le client accède aux données qui se trouvent sur le serveur, les données ne sont pas écrites sur le disque local du client.
Explication : L'instruction LIBNAME assigne le libref davdata à l'emplacement URL d'un serveur WebDAV. L'option WEBDAV est requise pour accéder à un serveur WebDAV.
Explication : L'instruction LIBNAME spécifie le libref mytddata et TERADATA, qui est le surnom du moteur pour SAS/ACCESS Interface to Teradata. L'instruction spécifie également les options de connexion pour Teradata. Modifiez ces options pour spécifier vos valeurs de connexion SAS/ACCESS et toute autre option dont vous avez besoin. L'étape DATA crée une table nommée grades. La table se trouve dans le SGBD Teradata et n'est pas un ensemble de données SAS. La sortie PROC DATASETS pour la bibliothèque mytddata montre que le moteur est Teradata. Pour la table grades, le type de membre SAS est DATA et le type de membre SGBD est TABLE.
Explication : Dans l'instruction LIBNAME, le libref target est assigné à un emplacement de bibliothèque SAS. Substituez l'emplacement de votre bibliothèque par library-path. Aucun moteur n'est spécifié, donc SAS assigne le moteur V9 par défaut. C'est la même instruction LIBNAME SAS/ACCESS que dans l'exemple 'Accéder aux données SGBD comme une bibliothèque SAS'. L'étape DATA crée une vue SAS nommée highgrades qui fait référence à la table Teradata nommée grades. La vue inclut les lignes où la variable final est supérieure à 80. PROC PRINT exécute la vue. Sachez que les vues d'étape DATA ne conservent pas l'instruction LIBNAME. Par conséquent, lorsque vous faites référence à cette vue, vous devez d'abord soumettre les instructions LIBNAME pour la bibliothèque mytddata ainsi que la bibliothèque target.
Copié !
libname target 'library-path';
libname mytddata teradata server=mytera user=myid password=mypw;
data target.highgrades / view=target.highgrades;
set mytddata.grades;
where final gt 80;
run;
proc print data=target.highgrades;
run;
Explication : Cet exemple définit l'option système DLCREATEDIR afin de créer un sous-dossier pour une bibliothèque. Dans l'exemple, le dossier /home/userid/mydata/ existe, mais le sous-dossier project n'existe pas. Étant donné que l'option système DLCREATEDIR est définie, SAS crée project.
Explication : Cette instruction désaffecte le libref mylib de son emplacement physique.
Copié !
libname mylib clear;
1
LIBNAME mylib clear;
10 Bloc de code
LIBNAME
Explication : Utilisez le mot-clé _ALL_ dans l'instruction LIBNAME pour désaffecter toutes les affectations de bibliothèque (autres que les bibliothèques système).
Copié !
libname _all_ clear;
1
LIBNAME _all_ clear;
11 Bloc de code
Macro, %SYSFUNC, fonction LIBNAME
Explication : Vous pouvez également utiliser la fonction LIBNAME. Le code suivant désaffecte le libref new, qui a été assigné dans l'exemple 'Assigner un Libref avec une fonction'.
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.
« Maîtriser l'instruction LIBNAME, c'est maîtriser l'accès à l'information. Que vos données soient sur un disque local, un serveur distant, une base Teradata ou un serveur WebDAV, SAS utilise une syntaxe unifiée pour que vous puissiez les manipuler avec la même simplicité. »
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.