Los ejemplos proporcionados utilizan rutas de sistema de archivos genéricas (`/tmp/mydata`, `/project/data`, `/cas/data/dynamic_source`, `/tmp/my_user_data`) que deben existir o ser creadas en el sistema de archivos del servidor CAS. El ejemplo avanzado también utiliza una tabla SASHELP (`CARS`) para la demostración de carga de datos.
1 Bloque de código
PROC CAS Data
Explicación : Este ejemplo muestra la creación de una caslib simple llamada 'mybasiccaslib' que apunta al directorio `/tmp/mydata` en el sistema de archivos del servidor CAS. Luego, incluye una verificación de la creación de esta caslib.
¡Copiado!
proc cas;
session casauto;
table.addCaslib /
name="mybasiccaslib",
description="Caslib de base para mis datos",
dataSource={srctype="path"},
path="/tmp/mydata";
run;
/* Vérifier que la caslib a été ajoutée */
proc cas;
session casauto;
table.caslibinfo / caslib="mybasiccaslib";
run;
1
PROC CAS;
2
SESSION casauto;
3
TABLE.addCaslib /
4
name="mybasiccaslib",
5
description="Caslib de base para mis datos",
6
dataSource={srctype="path"},
7
path="/tmp/mydata";
8
RUN;
9
10
/* Vérifier que la caslib a été ajoutée */
11
PROC CAS;
12
SESSION casauto;
13
TABLE.caslibinfo / caslib="mybasiccaslib";
14
RUN;
2 Bloque de código
PROC CAS Data
Explicación : Este ejemplo crea una caslib llamada 'global_project_data' que incluye opciones comunes. La opción `subdirs=TRUE` permite que la caslib reconozca y acceda a los subdirectorios de la ruta especificada. La opción `globals=TRUE` hace que esta caslib sea accesible para todas las sesiones CAS, y no solo para la sesión del usuario que la creó.
¡Copiado!
proc cas;
session casauto;
table.addCaslib /
name="global_project_data",
description="Données de projet avec sous-répertoires et accès global",
dataSource={srctype="path"},
path="/project/data",
subdirs=TRUE,
globals=TRUE;
run;
/* Vérifier la configuration de la caslib */
proc cas;
session casauto;
table.caslibinfo / caslib="global_project_data";
run;
1
PROC CAS;
2
SESSION casauto;
3
TABLE.addCaslib /
4
name="global_project_data",
5
description="Données de projet avec sous-répertoires et accès global",
6
dataSource={srctype="path"},
7
path="/project/data",
8
subdirs=TRUE,
9
globals=TRUE;
10
RUN;
11
12
/* Vérifier la configuration de la caslib */
13
PROC CAS;
14
SESSION casauto;
15
TABLE.caslibinfo / caslib="global_project_data";
16
RUN;
3 Bloque de código
PROC CAS / Commandes Shell Data
Explicación : Este ejemplo avanzado ilustra la creación y gestión dinámica de una caslib utilizando macro-variables SAS. Comienza creando un directorio en el sistema de archivos del servidor CAS mediante un comando shell. Luego, añade una caslib (`DynamicCaslib`) que apunta a este directorio, definiéndola como no activa (`active=FALSE`) inicialmente. La caslib se activa y se verifica su estado. Finalmente, el ejemplo incluye pasos de limpieza para eliminar la caslib y el directorio creado, demostrando un ciclo de vida completo.
¡Copiado!
%let myCaslibName = DynamicCaslib;
%let myCaslibPath = /cas/data/dynamic_source;
/* Assurez-vous que le chemin existe pour l'exemple */
/* Ceci exécute une commande shell pour créer le répertoire sur le serveur CAS */
filename _TEMP_CMD_ pipe "mkdir -p &myCaslibPath";
data _null_; infile _TEMP_CMD_ ; input; run;
proc cas;
session casauto;
table.addCaslib /
name="&myCaslibName",
description="Caslib créée dynamiquement via macro-variables",
dataSource={srctype="path"},
path="&myCaslibPath",
active=FALSE; /* La caslib n'est pas activée immédiatement */
run;
/* Activer la caslib et vérifier */
proc cas;
session casauto;
table.caslibinfo / caslib="&myCaslibName";
table.setCaslib / caslib="&myCaslibName", active=TRUE;
table.caslibinfo / caslib="&myCaslibName";
run;
/* Nettoyage : Supprimer la caslib et le dossier créé */
proc cas;
session casauto;
table.dropCaslib / caslib="&myCaslibName";
run;
filename _TEMP_CMD_ pipe "rmdir &myCaslibPath";
data _null_; infile _TEMP_CMD_ ; input; run;
1
%let myCaslibName = DynamicCaslib;
2
%let myCaslibPath = /cas/DATA/dynamic_source;
3
4
/* Assurez-vous que le chemin existe pour l'exemple */
5
/* Ceci exécute une commande shell pour créer le répertoire sur le serveur CAS */
/* Nettoyage : Supprimer la caslib et le dossier créé */
28
PROC CAS;
29
SESSION casauto;
30
TABLE.dropCaslib / caslib="&myCaslibName";
31
RUN;
32
filename _TEMP_CMD_ pipe "rmdir &myCaslibPath";
33
DATA _null_; INFILE _TEMP_CMD_ ; INPUT; RUN;
4 Bloque de código
PROC CAS / PROC CASUTIL Data
Explicación : Este ejemplo demuestra la creación de una caslib personal (`personal=TRUE`), que solo es visible para la sesión CAS del usuario que la crea. Se utiliza la ruta `/tmp/my_user_data`. Luego, utiliza la acción `loadcasdata` para cargar la tabla `CARS` de la biblioteca SASHELP en esta caslib personal, haciéndola disponible en memoria en CAS bajo el nombre `cars_in_cas`. El ejemplo luego lista las tablas en esta caslib y, finalmente, elimina la caslib personal. Es importante asegurarse de que el directorio `/tmp/my_user_data` exista y sea accesible para escritura para el usuario CAS.
¡Copiado!
/* Création d'une caslib personnelle temporaire */
/* Note: Le chemin doit être accessible et en écriture pour l'utilisateur CAS */
proc cas;
session casauto;
table.addCaslib /
name="my_personal_caslib",
description="Caslib personnelle temporaire pour chargement de données",
dataSource={srctype="path"},
path="/tmp/my_user_data",
personal=TRUE,
subdirs=TRUE; /* Permettre les sous-répertoires */
run;
/* Vérifier l'existence et l'activation de la caslib personnelle */
proc cas;
session casauto;
table.caslibinfo / caslib="my_personal_caslib";
run;
/* Charger des données SASHELP dans cette caslib personnelle */
/* Assurez-vous que le répertoire '/tmp/my_user_data' existe et est accessible en écriture */
proc cas;
session casauto;
loadcasdata /
caslib="my_personal_caslib",
path="CARS", /* Chargement de la table CARS de SASHELP */
casout="cars_in_cas",
promote=TRUE; /* Promote la table en mémoire pour être accessible */
run;
/* Lister les tables dans la caslib personnelle */
proc cas;
session casauto;
table.tableinfo / caslib="my_personal_caslib";
run;
/* Supprimer la caslib personnelle */
proc cas;
session casauto;
table.dropCaslib / caslib="my_personal_caslib";
run;
/* Nettoyage : Si des fichiers ont été écrits, ils doivent être supprimés manuellement du chemin /tmp/my_user_data */
1
/* Création d'une caslib personnelle temporaire */
2
/* Note: Le chemin doit être accessible et en écriture pour l'utilisateur CAS */
3
PROC CAS;
4
SESSION casauto;
5
TABLE.addCaslib /
6
name="my_personal_caslib",
7
description="Caslib personnelle temporaire pour chargement de données",
8
dataSource={srctype="path"},
9
path="/tmp/my_user_data",
10
personal=TRUE,
11
subdirs=TRUE; /* Permettre les sous-répertoires */
12
RUN;
13
14
/* Vérifier l'existence et l'activation de la caslib personnelle */
15
PROC CAS;
16
SESSION casauto;
17
TABLE.caslibinfo / caslib="my_personal_caslib";
18
RUN;
19
20
/* Charger des données SASHELP dans cette caslib personnelle */
21
/* Assurez-vous que le répertoire '/tmp/my_user_data' existe et est accessible en écriture */
22
PROC CAS;
23
SESSION casauto;
24
loadcasdata /
25
caslib="my_personal_caslib",
26
path="CARS", /* Chargement de la table CARS de SASHELP */
27
casout="cars_in_cas",
28
promote=TRUE; /* Promote la table en mémoire pour être accessible */
29
RUN;
30
31
/* Lister les tables dans la caslib personnelle */
32
PROC CAS;
33
SESSION casauto;
34
TABLE.tableinfo / caslib="my_personal_caslib";
35
RUN;
36
37
/* Supprimer la caslib personnelle */
38
PROC CAS;
39
SESSION casauto;
40
TABLE.dropCaslib / caslib="my_personal_caslib";
41
RUN;
42
43
/* Nettoyage : Si des fichiers ont été écrits, ils doivent être supprimés manuellement du chemin /tmp/my_user_data */
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.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.