Publicado el :
ETL CREACIÓN_INTERNA

Guardar un archivo SAS7BDAT en una Caslib

Este código también está disponible en: Deutsch English Français
En espera de validación
La acción 'table.save' de SAS© Viya permite guardar tablas en memoria CAS en varios formatos de archivo, incluido SAS©7BDAT. El parámetro 'exportOptions' es crucial para especificar el tipo de archivo de salida ('basesas' para SAS©7BDAT) y opciones específicas del tipo, como el cifrado. El ejemplo ilustra cómo guardar una tabla con cifrado AES2 y una contraseña. Cada ejemplo es autónomo e incluye la creación de los datos necesarios usando un paso DATA con DATALINES.
Análisis de datos

Type : CREACIÓN_INTERNA


Los ejemplos utilizan datos generados (datalines) para asegurar su autonomía. La tabla 'cholesterol' se crea y carga en memoria CAS para las demostraciones de guardado.

1 Bloque de código
DATA STEP / PROC CAS Data
Explicación :
Este ejemplo crea una tabla SAS simple utilizando un paso DATA con DATALINES, la carga en memoria CAS y luego la guarda como un archivo SAS7BDAT en la caslib 'casuser' sin ninguna opción de cifrado. El comando 'fileinfo' permite verificar que el archivo ha sido creado correctamente.
¡Copiado!
1DATA work.cholesterol;
2 INPUT Name $ Age Sex $ Cholesterol_Level;
3 DATALINES;
4John_Doe 45 M 200
5Jane_Smith 30 F 180
6Peter_Jones 55 M 240
7Alice_Brown 25 F 160
8;
9RUN;
10 
11cas casauto sessopts=(caslib="casuser");
12 
13PROC CAS;
14 TABLE.upload /
15 caslib="casuser",
16 path="cholesterol",
17 casout={name="cholesterol", replace=true};
18 TABLE.save /
19 TABLE="cholesterol",
20 name="cholesterol_basic.sas7bdat",
21 exportOptions={fileType="basesas"},
22 replace=true;
23QUIT;
24 
25PROC CAS;
26 TABLE.fileinfo / caslib="casuser" pattern="cholesterol_basic.sas7bdat";
27QUIT;
2 Bloque de código
DATA STEP / PROC CAS Data
Explicación :
Este caso reproduce el ejemplo de la documentación. Crea la tabla 'cholesterol', la carga en memoria CAS y luego la guarda como un archivo SAS7BDAT cifrado con el algoritmo AES2 y una contraseña especificada. El comando 'fileinfo' permite verificar que el archivo ha sido creado correctamente.
¡Copiado!
1DATA work.cholesterol;
2 INPUT Name $ Age Sex $ Cholesterol_Level;
3 DATALINES;
4John_Doe 45 M 200
5Jane_Smith 30 F 180
6Peter_Jones 55 M 240
7Alice_Brown 25 F 160
8;
9RUN;
10 
11cas casauto sessopts=(caslib="casuser");
12 
13PROC CAS;
14 TABLE.upload /
15 caslib="casuser",
16 path="cholesterol",
17 casout={name="cholesterol", replace=true};
18 TABLE.save /
19 TABLE="cholesterol",
20 name="cholesterol_encr.sas7bdat",
21 exportOptions={
22 fileType="basesas",
23 encrypt="AES2",
24 encryptionPassword="pasquotank"
25 },
26 replace=true;
27QUIT;
28 
29PROC CAS;
30 TABLE.fileinfo / caslib="casuser" pattern="cholesterol_encr.sas7bdat";
31QUIT;
3 Bloque de código
DATA STEP / PROC CAS Data
Explicación :
Este ejemplo ilustra un uso más avanzado al guardar un subconjunto de datos (aquí, los registros donde Cholesterol_Level es mayor que 200) en un formato diferente, a saber, CSV. El parámetro 'where' se utiliza para el filtrado y 'exportOptions={fileType="csv"}' para el formato de salida. El comando 'fileinfo' permite verificar que el archivo ha sido creado correctamente.
¡Copiado!
1DATA work.cholesterol;
2 INPUT Name $ Age Sex $ Cholesterol_Level;
3 DATALINES;
4John_Doe 45 M 200
5Jane_Smith 30 F 180
6Peter_Jones 55 M 240
7Alice_Brown 25 F 160
8;
9RUN;
10 
11cas casauto sessopts=(caslib="casuser");
12 
13PROC CAS;
14 TABLE.upload /
15 caslib="casuser",
16 path="cholesterol",
17 casout={name="cholesterol", replace=true};
18 
19 TABLE.save /
20 TABLE="cholesterol",
21 where="Cholesterol_Level > 200",
22 name="cholesterol_filtered.csv",
23 exportOptions={fileType="csv"},
24 replace=true;
25QUIT;
26 
27PROC CAS;
28 TABLE.fileinfo / caslib="casuser" pattern="cholesterol_filtered.csv";
29QUIT;
4 Bloque de código
DATA STEP / PROC CAS Data
Explicación :
Este ejemplo muestra cómo crear una caslib temporal ('my_temp_caslib') y guardar la tabla 'cholesterol' en ella. Esto es útil para gestionar datos entre diferentes espacios de almacenamiento CAS o para preparar datos para un uso externo a la caslib original. La caslib temporal se elimina al final de la ejecución para su limpieza. El comando 'fileinfo' permite verificar que el archivo ha sido creado correctamente.
¡Copiado!
1DATA work.cholesterol;
2 INPUT Name $ Age Sex $ Cholesterol_Level;
3 DATALINES;
4John_Doe 45 M 200
5Jane_Smith 30 F 180
6Peter_Jones 55 M 240
7Alice_Brown 25 F 160
8;
9RUN;
10 
11cas casauto sessopts=(caslib="casuser");
12 
13PROC CAS;
14 TABLE.upload /
15 caslib="casuser",
16 path="cholesterol",
17 casout={name="cholesterol", replace=true};
18 
19 caslib.add /
20 caslib="my_temp_caslib",
21 path="/tmp/my_temp_data",
22 subdirs=true,
23 global=false,
24 dataSource={srcType="path"};
25 
26 TABLE.save /
27 TABLE="cholesterol",
28 caslib="my_temp_caslib", /* Spécifie la caslib de destination */
29 name="cholesterol_remote.sas7bdat",
30 exportOptions={fileType="basesas"},
31 replace=true;
32QUIT;
33 
34PROC CAS;
35 TABLE.fileinfo / caslib="my_temp_caslib" pattern="cholesterol_remote.sas7bdat";
36 caslib.drop / caslib="my_temp_caslib" quiet=true;
37QUIT;
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