Los ejemplos utilizan datos generados (datalines) para simular la importación de archivos de PC o crear pequeños conjuntos de datos para la exportación. Para la importación real, se supone que existen archivos de Excel/Access.
1 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo muestra cómo cargar un archivo Excel (aquí simulado por un CSV y luego cargado en CAS) en una tabla CAS llamada 'ma_table_excel'. Utiliza `PROC CASUTIL` con la opción `LOAD` y especifica la caslib de entrada y salida. La tabla se promueve luego para ser visible por todos los usuarios de la sesión CAS.
¡Copiado!
/* Préparation : Créer un fichier Excel factice sur le système de fichiers du contrôleur CAS ou un chemin accessible */
/* Dans un environnement réel, ce fichier 'mon_fichier.xlsx' existerait déjà. */
/* Pour la démonstration, nous allons simuler son contenu avec DATA étape. */
/* Créer un fichier CSV temporaire pour simuler le contenu d'un fichier Excel */
/* En pratique, vous auriez un fichier Excel existant */
filename mydata temp;
data _null_;
file mydata dlm=',' lrecl=200;
put 'ID,Nom,Valeur';
put '1,Alpha,100';
put '2,Beta,150';
put '3,Gamma,200';
run;
/* Charger le fichier CSV dans une table CAS qui sera ensuite 'enregistrée' comme Excel */
/* Ce n'est qu'une simulation. Normalement, l'Excel existerait déjà. */
proc cas;
session casauto;
table.loadTable /
path='mydata.csv'
caslib='casuser'
promote=TRUE
fileType='CSV'
importOptions={getNames=TRUE};
quit;
/* Utiliser PROC CASUTIL pour charger un fichier Excel (simulé) dans une table CAS */
/* Supposons que 'mon_fichier.xlsx' est disponible dans le caslib 'public' */
/* (chemin réel: /cas/data/public/mon_fichier.xlsx) */
/* Dans cet exemple, nous allons utiliser le fichier CSV temporaire comme source */
/* En réalité, le fichier d'entrée serait 'mon_fichier.xlsx' */
proc casutil;
load casdata="mydata.csv" incaslib="casuser" outcaslib="casuser" casout="ma_table_excel" replace;
promote casdata="ma_table_excel" incaslib="casuser";
run;
proc print data=casuser.ma_table_excel;
run;
1
/* Préparation : Créer un fichier Excel factice sur le système de fichiers du contrôleur CAS ou un chemin accessible */
2
/* Dans un environnement réel, ce fichier 'mon_fichier.xlsx' existerait déjà. */
3
/* Pour la démonstration, nous allons simuler son contenu avec DATA étape. */
4
5
/* Créer un fichier CSV temporaire pour simuler le contenu d'un fichier Excel */
6
/* En pratique, vous auriez un fichier Excel existant */
7
filename mydata temp;
8
DATA _null_;
9
file mydata dlm=',' lrecl=200;
10
put 'ID,Nom,Valeur';
11
put '1,Alpha,100';
12
put '2,Beta,150';
13
put '3,Gamma,200';
14
RUN;
15
16
/* Charger le fichier CSV dans une table CAS qui sera ensuite 'enregistrée' comme Excel */
17
/* Ce n'est qu'une simulation. Normalement, l'Excel existerait déjà. */
18
PROC CAS;
19
SESSION casauto;
20
TABLE.loadTable /
21
path='mydata.csv'
22
caslib='casuser'
23
promote=TRUE
24
fileType='CSV'
25
importOptions={getNames=TRUE};
26
QUIT;
27
28
/* Utiliser PROC CASUTIL pour charger un fichier Excel (simulé) dans une table CAS */
29
/* Supposons que 'mon_fichier.xlsx' est disponible dans le caslib 'public' */
Explicación : Este ejemplo ilustra cómo refinar la importación de un archivo Excel especificando opciones. Normalmente, opciones como `sheet=` (para seleccionar una hoja específica) y `range=` (para un rango de celdas) se usarían en las `importoptions` de `PROC CASUTIL`. Aquí, para la demostración, simulamos la lectura de datos específicos.
¡Copiado!
/* Préparation : Créer un fichier Excel factice avec plusieurs feuilles pour démonstration */
/* En pratique, le fichier Excel 'ventes.xlsx' existerait déjà avec ces feuilles. */
filename xlfile temp;
data _null_;
file xlfile dlm=',' lrecl=200;
/* Feuille 1: Ventes_Q1 */
put 'ID_Produit,Region,Ventes_Trim1';
put 'A1,Est,1000';
put 'A2,Ouest,1200';
/* Feuille 2: Ventes_Q2 */
put 'ID_Produit,Region,Ventes_Trim2';
put 'A1,Est,1100';
put 'A3,Nord,900';
run;
/* Charger le fichier Excel (simulé par CSV) spécifiant une feuille et une plage */
/* Ici, nous allons simuler un chargement à partir d'un fichier Excel (XLFILE) */
/* en utilisant la fonctionnalité d'importation de fichiers PC. */
/* Dans un cas réel, le XLFILE serait un vrai fichier Excel. */
proc casutil;
/* Supposons que xlfile contient les données des deux feuilles */
/* Nous allons charger la 'deuxième' feuille (Ventes_Q2) et une plage spécifique */
load casdata="xlfile.csv" incaslib="casuser" outcaslib="casuser" casout="ventes_q2_specifiques" replace
importoptions=(fileType='CSV' getNames=true);
promote casdata="ventes_q2_specifiques" incaslib="casuser";
run;
/* Pour les fichiers Excel, les options sheet= et range= seraient utilisées comme ceci: */
/* load casdata="ventes.xlsx" incaslib="public" outcaslib="casuser" casout="ventes_q2_specifiques" replace
importoptions=(fileType='XLSX' sheet="Ventes_Q2" range="A2:C3"); */
/* Ici, nous montrons comment le connecteur interpréterait des options similaires pour la démonstration */
proc print data=casuser.ventes_q2_specifiques;
run;
1
/* Préparation : Créer un fichier Excel factice avec plusieurs feuilles pour démonstration */
2
/* En pratique, le fichier Excel 'ventes.xlsx' existerait déjà avec ces feuilles. */
3
filename xlfile temp;
4
DATA _null_;
5
file xlfile dlm=',' lrecl=200;
6
/* Feuille 1: Ventes_Q1 */
7
put 'ID_Produit,Region,Ventes_Trim1';
8
put 'A1,Est,1000';
9
put 'A2,Ouest,1200';
10
/* Feuille 2: Ventes_Q2 */
11
put 'ID_Produit,Region,Ventes_Trim2';
12
put 'A1,Est,1100';
13
put 'A3,Nord,900';
14
RUN;
15
16
/* Charger le fichier Excel (simulé par CSV) spécifiant une feuille et une plage */
17
/* Ici, nous allons simuler un chargement à partir d'un fichier Excel (XLFILE) */
18
/* en utilisant la fonctionnalité d'importation de fichiers PC. */
19
/* Dans un cas réel, le XLFILE serait un vrai fichier Excel. */
20
21
PROC CASUTIL;
22
/* Supposons que xlfile contient les données des deux feuilles */
23
/* Nous allons charger la 'deuxième' feuille (Ventes_Q2) et une plage spécifique */
/* Ici, nous montrons comment le connecteur interpréterait des options similaires pour la démonstration */
33
34
PROC PRINTDATA=casuser.ventes_q2_specifiques;
35
RUN;
36
3 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo muestra la exportación de una tabla CAS existente ('produits') a un archivo Excel llamado 'rapport_produits.xlsx'. El archivo se guarda en la caslib especificada ('casuser') y se define una hoja específica ('Inventaire') para la exportación. La opción `replace` permite reemplazar el archivo si ya existe.
¡Copiado!
/* Créer une table CAS pour l'exportation */
data casuser.produits;
infile datalines dlm=',';
input ID $ NomProduit $ Prix Quantite;
datalines;
P001,Laptop,1200,10
P002,Souris,25,50
P003,Clavier,75,30
;
run;
proc cas;
session casauto;
table.promote / name='produits' caslib='casuser';
quit;
/* Exporter la table CAS 'produits' vers un fichier Excel 'rapport_produits.xlsx' */
/* Le fichier sera créé dans le caslib 'casuser' (chemin réel sur le contrôleur CAS) */
proc casutil;
save casdata="produits" incaslib="casuser"
outfile="rapport_produits.xlsx" outcaslib="casuser" replace
exportoptions=(fileType='XLSX' sheet="Inventaire");
run;
/* Vérification (en listant les fichiers du caslib) */
proc casutil;
list files caslib="casuser";
run;
1
/* Créer une table CAS pour l'exportation */
2
DATA casuser.produits;
3
INFILEDATALINES dlm=',';
4
INPUT ID $ NomProduit $ Prix Quantite;
5
DATALINES;
6
P001,Laptop,1200,10
7
P002,Souris,25,50
8
P003,Clavier,75,30
9
;
10
RUN;
11
12
PROC CAS;
13
SESSION casauto;
14
TABLE.promote / name='produits' caslib='casuser';
15
QUIT;
16
17
/* Exporter la table CAS 'produits' vers un fichier Excel 'rapport_produits.xlsx' */
18
/* Le fichier sera créé dans le caslib 'casuser' (chemin réel sur le contrôleur CAS) */
/* Vérification (en listant les fichiers du caslib) */
26
PROC CASUTIL;
27
list files caslib="casuser";
28
RUN;
29
4 Bloque de código
PROC CAS; PROC FEDSQL Data
Explicación : Este ejemplo avanzado simula el procesamiento de datos inicialmente almacenados en un archivo Excel, una vez que han sido cargados en una tabla CAS. Utiliza `PROC FEDSQL` para filtrar las órdenes con el estado 'Terminada' y `simple.summary` (una acción CAS) para calcular el monto total de estas órdenes. Esto demuestra la capacidad de CAS para realizar análisis de alto rendimiento sobre datos provenientes de archivos de PC.
¡Copiado!
/* Préparation : Charger un fichier Excel (simulé par une table CAS) dans CAS */
/* Nous allons créer une table CAS directement pour simuler des données issues d'Excel. */
/* En réalité, ceci viendrait d'un 'LOAD CASDATA="mon_fichier.xlsx" ...' */
data casuser.commandes_excel_simule;
infile datalines dlm=',';
input ID_Commande $ DateCommande :MMDDYY10. Montant Commande_Statut $;
format DateCommande date9.;
datalines;
C001,01/15/2025,150.50,Terminée
C002,02/20/2025,300.00,En cours
C003,03/01/2025,75.25,Terminée
C004,03/05/2025,210.00,Annulée
;
run;
proc cas;
session casauto;
table.promote / name='commandes_excel_simule' caslib='casuser';
quit;
/* Utiliser PROC FEDSQL pour analyser les données chargées depuis Excel */
/* Filtrer les commandes terminées et calculer le total */
proc fedsql sessref=casauto;
create table casuser.commandes_terminees as
select
ID_Commande,
DateCommande,
Montant
from casuser.commandes_excel_simule
where Commande_Statut = 'Terminée';
quit;
proc print data=casuser.commandes_terminees;
run;
/* Calculer le montant total des commandes terminées */
proc cas;
session casauto;
simple.summary /
table={name='commandes_terminees', caslib='casuser'}
sumVars={{name='Montant'}};
quit;
1
/* Préparation : Charger un fichier Excel (simulé par une table CAS) dans CAS */
2
/* Nous allons créer une table CAS directement pour simuler des données issues d'Excel. */
3
/* En réalité, ceci viendrait d'un 'LOAD CASDATA="mon_fichier.xlsx" ...' */
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.
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.