CAS CAS

Declaración SAVERESULT

Este código también está disponible en: Deutsch English
Nivel de dificultad
Principiante
Publicado el :
La declaración SAVERESULT guarda la tabla especificada en una fuente de datos accesible al servidor CAS. Debe especificar una tabla CAS y al menos una opción de destino. Las opciones comunes incluyen CASOUT=, REPLACE y DBASE=. La tabla CAS puede ser una tabla en memoria o una tabla temporal creada por una acción anterior. El formato de salida está determinado por la opción DBASE= o se deduce de los metadatos de la tabla CAS.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) o SASHELP.

1 Bloque de código
PROC CAS / DATA STEP Data
Explicación :
Este ejemplo ilustra el uso básico de SAVERESULT. Primero crea un conjunto de datos SAS local, lo carga en memoria en el servidor CAS, y luego usa SAVERESULT para guardar esta tabla CAS en memoria en una nueva tabla CAS llamada 'mycars_saved'.
¡Copiado!
1/* Crée un jeu de données SAS local */
2DATA mylib.cars_data;
3 SET sashelp.cars;
4 where make in ('Toyota', 'Honda');
5RUN;
6 
7/* Démarre une session CAS et charge le jeu de données en mémoire */
8PROC CAS;
9 SESSION casauto;
10 caslib _all_ assign;
11 
12 /* Charge la table SAS dans CAS */
13 TABLE.loadtable /
14 caslib='casuser',
15 path='cars_data.sashdat',
16 casout={name='mycars_cas', replace=true};
17 
18 /* Sauvegarde la table CAS en mémoire dans une nouvelle table CAS */
19 saveresult mycars_cas / casout={name='mycars_saved', caslib='casuser', replace=true};
20 
21 /* Vérifie que la nouvelle table a été sauvegardée */
22 TABLE.tableinfo / caslib='casuser' name='mycars_saved';
23 
24 /* Affiche les premières lignes de la table sauvegardée */
25 TABLE.fetch / caslib='casuser' TABLE={name='mycars_saved'};
26 
27QUIT;
28 
29/* Nettoyage : Supprime les tables et le jeu de données local */
30PROC CAS;
31 TABLE.droptable / caslib='casuser' name='mycars_cas';
32 TABLE.droptable / caslib='casuser' name='mycars_saved';
33QUIT;
34 
35PROC DELETE DATA=mylib.cars_data; RUN;
2 Bloque de código
PROC CAS
Explicación :
Este ejemplo demuestra cómo usar SAVERESULT para guardar los resultados de una acción CAS. Carga un conjunto de datos, ejecuta la acción simple.summary, que crea una tabla temporal en memoria, y luego usa SAVERESULT con la opción CASOUT= y REPLACE para guardar estos resultados permanentemente en 'hmeq_summary_saved'.
¡Copiado!
1/* Démarre une session CAS */
2PROC CAS;
3 SESSION casauto;
4 caslib _all_ assign;
5 
6 /* Charge un jeu de données SASHELP dans CAS */
7 TABLE.loadtable /
8 caslib='casuser',
9 path='Hmeq.sashdat',
10 casout={name='hmeq_cas', replace=true};
11 
12 /* Exécute une action CAS pour obtenir des statistiques sommaires */
13 SIMPLE.summary /
14 TABLE='hmeq_cas',
15 inputs={'debtinc', 'loan'},
16 casout={name='summary_results', replace=true};
17 
18 /* Sauvegarde la table de résultats temporaire 'summary_results' */
19 saveresult summary_results / casout={name='hmeq_summary_saved', caslib='casuser', replace=true};
20 
21 /* Vérifie que la table de résultats a été sauvegardée */
22 TABLE.tableinfo / caslib='casuser' name='hmeq_summary_saved';
23 
24 /* Affiche les premières lignes de la table sauvegardée */
25 TABLE.fetch / caslib='casuser' TABLE={name='hmeq_summary_saved'};
26 
27QUIT;
28 
29/* Nettoyage : Supprime les tables CAS */
30PROC CAS;
31 TABLE.droptable / caslib='casuser' name='hmeq_cas';
32 TABLE.droptable / caslib='casuser' name='summary_results';
33 TABLE.droptable / caslib='casuser' name='hmeq_summary_saved';
34QUIT;
3 Bloque de código
PROC CAS / DATA STEP Data
Explicación :
Este ejemplo avanzado muestra cómo guardar una tabla CAS en memoria en un archivo CSV externo en el sistema de archivos del servidor CAS. Utiliza las opciones DBASE='CSV' para especificar el formato y PATH='output/complex_data_saved.csv' para definir la ruta de salida. La opción REPLACE se utiliza para sobrescribir un archivo existente.
¡Copiado!
1/* Crée un jeu de données SAS local avec des données complexes */
2DATA mylib.complex_data;
3 LENGTH id 8 name $20 value 8 date 8;
4 FORMAT date yymmdd10.;
5 INPUT id name $ value date;
6 DATALINES;
7 1 John 100 20230115
8 2 Jane 150 20230220
9 3 Mike 120 20230325
10 4 Sara 200 20230430
11 ;
12RUN;
13 
14/* Démarre une session CAS */
15PROC CAS;
16 SESSION casauto;
17 caslib _all_ assign;
18 
19 /* Charge la table SAS dans CAS */
20 TABLE.loadtable /
21 caslib='casuser',
22 path='complex_data.sashdat',
23 casout={name='complex_cas', replace=true};
24 
25 /* Sauvegarde la table CAS en un fichier CSV sur le système de fichiers CAS */
26 /* Le chemin 'path' est relatif au caslib 'casuser' */
27 saveresult complex_cas /
28 dbase='CSV',
29 path='output/complex_data_saved.csv',
30 replace=true;
31 
32 /* Vérifie l'existence du fichier CSV (cela nécessite un accès au système de fichiers CAS) */
33 /* Note: Cette vérification n'est pas directe via PROC CAS pour les fichiers externes. */
34 /* Pour vérifier, il faudrait utiliser une action qui liste les fichiers du caslib */
35 TABLE.fileinfo / caslib='casuser' path='output';
36 
37QUIT;
38 
39/* Nettoyage : Supprime les tables et le jeu de données local */
40PROC CAS;
41 TABLE.droptable / caslib='casuser' name='complex_cas';
42 /* La suppression du fichier CSV nécessite un accès direct au système de fichiers ou une action CAS spécifique */
43 /* Pour cet exemple, nous n'incluons pas de suppression de fichier externe. */
44QUIT;
45 
46PROC DELETE DATA=mylib.complex_data; RUN;
4 Bloque de código
PROC CAS
Explicación :
Este ejemplo ilustra la integración de Viya creando una vista CAS filtrada, y luego usando SAVERESULT para guardar esta vista como una nueva tabla permanente en el servidor CAS. La opción PROMOTE=TRUE se utiliza para hacer que la tabla esté disponible globalmente para todas las sesiones, lo cual es una característica clave del entorno Viya/CAS.
¡Copiado!
1/* Démarre une session CAS */
2PROC CAS;
3 SESSION casauto;
4 caslib _all_ assign;
5 
6 /* Charge le jeu de données iris de SASHELP dans CAS */
7 TABLE.loadtable /
8 caslib='casuser',
9 path='Iris.sashdat',
10 casout={name='iris_cas', replace=true};
11 
12 /* Crée une table filtrée en mémoire */
13 DATA casuser.iris_filtered (casview=true);
14 SET casuser.iris_cas;
15 IF Species = 'Setosa';
16 RUN;
17 
18 /* Sauvegarde la vue filtrée en une table permanente et la promeut */
19 /* La promotion rend la table disponible globalement pour toutes les sessions */
20 IF _OR_.exists(caslib='casuser', name='iris_setosa_promoted') THEN DO;
21 TABLE.droptable / caslib='casuser' name='iris_setosa_promoted';
22 END;
23 saveresult iris_filtered / casout={name='iris_setosa_promoted', caslib='casuser', replace=true} promote=true;
24 
25 /* Vérifie que la table a été sauvegardée et promue */
26 TABLE.tableinfo / caslib='casuser' name='iris_setosa_promoted';
27 
28 /* Affiche les premières lignes de la table sauvegardée */
29 TABLE.fetch / caslib='casuser' TABLE={name='iris_setosa_promoted'};
30 
31QUIT;
32 
33/* Nettoyage : Supprime les tables CAS */
34PROC CAS;
35 TABLE.droptable / caslib='casuser' name='iris_cas';
36 TABLE.droptable / caslib='casuser' name='iris_filtered'; /* Supprime la vue en mémoire */
37 TABLE.droptable / caslib='casuser' name='iris_setosa_promoted';
38QUIT;
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.

Documentación relacionada

Aucune documentation spécifique pour cette catégorie.