Publicado el :
Acceso a datos CREATION_INTERNE

Elementos de asignación de librería

Este código también está disponible en: Deutsch English Français
La asignación de una librería SAS© mediante la instrucción LIBNAME permite referenciar una ubicación física de datos. Se compone de un libref (nombre abreviado), un motor de librería (a menudo V9 por defecto), la ubicación de la carpeta y opciones específicas. Las asignaciones son válidas para la sesión actual, a menos que se hagan persistentes. El documento detalla las reglas de sintaxis, las situaciones en las que no es necesario un libref y las mejores prácticas para una gestión eficiente de los datos SAS©.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) o SASHELP.

1 Bloque de código
LIBNAME statement
Explicación :
Este ejemplo muestra la asignación de una librería SAS a una carpeta local. La instrucción `LIBNAME` crea una referencia (libref 'mylib') que apunta a una ubicación física. Utilizamos `V9` como motor de librería, que es el motor predeterminado para los archivos SAS tradicionales. Luego, se crea y guarda una pequeña tabla `test_data` en esta librería. Se utiliza `PROC PRINT` para mostrar el contenido de la tabla. Finalmente, la librería se desasigna de la sesión SAS con `LIBNAME mylib clear;`.
¡Copiado!
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é */
7LIBNAME mylib V9 '%sysfunc(pathname(WORK))/my_sas_library';
8 
9/* Crée une table simple dans la bibliothèque 'mylib' */
10DATA mylib.test_data;
11 INPUT id name $;
12 DATALINES;
131 John
142 Jane
153 Mike
16;
17RUN;
18 
19/* Affiche le contenu de la table */
20PROC PRINT DATA=mylib.test_data;
21 title 'Contenu de mylib.test_data';
22RUN;
23 
24/* Désaffecte la bibliothèque */
25LIBNAME mylib clear;
26 
2 Bloque de código
LIBNAME statement avec options
Explicación :
Este ejemplo ilustra el uso de una opción de librería. El libref 'readonly' se asigna al motor V9 con la opción `ACCESS=READONLY`. Esto significa que los usuarios solo podrán leer los datos de esta librería, y cualquier intento de escritura o modificación (como la creación de 'new_table' en el ejemplo) resultará en un error SAS. Esto es útil para proteger la integridad de los datos. El código incluye una simulación de archivo existente para que el acceso de solo lectura tenga sentido.
¡Copiado!
1/* Affecte une bibliothèque en mode lecture seule */
2LIBNAME readonly V9 '%sysfunc(pathname(WORK))/my_read_only_library' access=readonly;
3 
4/* Crée une table temporaire pour la démonstration */
5DATA _null_;
6 file '%sysfunc(pathname(WORK))/my_read_only_library/sample.sas7bdat';
7 put 'This is a sample SAS dataset file.';
8RUN;
9 
10/* Tente de créer une nouvelle table dans la bibliothèque en lecture seule (va échouer) */
11DATA readonly.new_table;
12 x=1;
13RUN;
14 
15/* Désaffecte la bibliothèque */
16LIBNAME readonly clear;
17 
3 Bloque de código
Accès direct au fichier
Explicación :
Aunque se recomienda el uso de un libref, este ejemplo muestra cómo acceder a una tabla SAS especificando directamente su ruta completa y su nombre de archivo entre comillas. Esto funciona para muchos elementos del lenguaje SAS, pero no ofrece la flexibilidad ni las ventajas de la gestión por libref, especialmente para las opciones del motor y la modificación sencilla de la ruta de acceso.
¡Copiado!
1/* Crée un dossier temporaire pour l'exemple */
2/* Créons une table SAS temporaire directement dans un chemin */
3DATA '%sysfunc(pathname(WORK))/my_direct_access_data.sas7bdat';
4 INPUT val;
5 DATALINES;
610
720
830
9;
10RUN;
11 
12/* Accède à la table SAS directamente par son chemin complet */
13PROC PRINT DATA='%sysfunc(pathname(WORK))/my_direct_access_data.sas7bdat';
14 title 'Accès direct à la table';
15RUN;
16 
17/* Note: Le fichier reste sur le disque après la session à moins d'être supprimé explicitement */
18 
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright © SAS Institute Inc. All Rights Reserved