Die Beispiele verwenden generierte Daten (Datalines), um den Import von PC-Dateien zu simulieren oder kleine Datensätze für den Export zu erstellen. Für den tatsächlichen Import wird davon ausgegangen, dass Excel-/Access-Dateien vorhanden sind.
1 Codeblock
PROC CASUTIL Data
Erklärung : Dieses Beispiel zeigt, wie eine Excel-Datei (hier simuliert durch eine CSV-Datei und dann in CAS geladen) in eine CAS-Tabelle namens 'ma_table_excel' geladen wird. Es verwendet `PROC CASUTIL` mit der Option `LOAD` und gibt die Eingabe- und Ausgabe-Caslib an. Die Tabelle wird dann höhergestuft, um für alle Benutzer der CAS-Sitzung sichtbar zu sein.
Kopiert!
/* 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' */
Erklärung : Dieses Beispiel veranschaulicht, wie der Import einer Excel-Datei durch Angabe von Optionen verfeinert werden kann. Normalerweise würden Optionen wie `sheet=` (zur Auswahl eines bestimmten Blatts) und `range=` (für einen Zellbereich) in den `importoptions` von `PROC CASUTIL` verwendet werden. Hier simulieren wir zur Demonstration das Lesen spezifischer Daten.
Kopiert!
/* 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 Codeblock
PROC CASUTIL Data
Erklärung : Dieses Beispiel zeigt den Export einer vorhandenen CAS-Tabelle ('produits') in eine Excel-Datei namens 'rapport_produits.xlsx'. Die Datei wird in der angegebenen Caslib ('casuser') gespeichert und ein bestimmtes Blatt ('Inventaire') für den Export definiert. Die Option `replace` ermöglicht das Ersetzen der Datei, falls sie bereits existiert.
Kopiert!
/* 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 Codeblock
PROC CAS; PROC FEDSQL Data
Erklärung : Dieses fortgeschrittene Beispiel simuliert die Verarbeitung von Daten, die ursprünglich in einer Excel-Datei gespeichert waren, nachdem sie in eine CAS-Tabelle geladen wurden. Es verwendet `PROC FEDSQL`, um Aufträge mit dem Status 'Terminée' zu filtern, und `simple.summary` (eine CAS-Aktion), um den Gesamtbetrag dieser Aufträge zu berechnen. Dies demonstriert die Fähigkeit von CAS, leistungsstarke Analysen auf Daten aus PC-Dateien durchzuführen.
Kopiert!
/* 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" ...' */
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Notice: Undefined variable: stmtFrFallback in /var/www/app/detail_sascode.php on line 1428
Fatal error: Uncaught Error: Call to a member function execute() on null in /var/www/app/detail_sascode.php:1428
Stack trace:
#0 {main}
thrown in /var/www/app/detail_sascode.php on line 1428