Published on :
Général CREATION_INTERNE

Sans titre

This code is also available in: Deutsch Français
Awaiting validation
Data Analysis

Type : CREATION_INTERNE


Examples use data generated directly via DATA STEP blocks with 'datalines' or the 'CARS' table provided by SASHELP, loaded into CAS memory.

1 Code Block
DATA STEP / PROC CAS Data
Copied!
1/* Création d'une table SAS WORK locale */
2DATA work.produits;
3 INPUT ID $ NomProduit $ Prix;
4 DATALINES;
5 P001 Pomme 1.50
6 P002 Orange 2.00
7 P003 Banane 0.75
8 P004 Fraise 3.20
9 ;
10RUN;
11 
12/* Démarrage d'une session CAS et chargement de la table locale en mémoire CAS */
13PROC CAS; QUIT;
14CAS casauto;
15 
16PROC CAS;
17 SESSION casauto;
18 upload path="work.produits" casOut={name="produits_cas", replace=TRUE};
19RUN;
20 
21/* Copie de la table 'produits_cas' vers 'produits_copie_basique' */
22PROC CAS;
23 SESSION casauto;
24 TABLE.copyTable /
25 TABLE={name="produits_cas"},
26 casOut={name="produits_copie_basique", replace=TRUE};
27RUN;
28 
29/* Vérification de la nouvelle table */
30PROC CAS;
31 SESSION casauto;
32 TABLE.tableInfo /
33 caslib="CASUSER",
34 name="produits_copie_basique";
35RUN;
36QUIT;
2 Code Block
DATA STEP / PROC CAS Data
Copied!
1/* Création d'une table SAS WORK locale */
2DATA work.ventes_region;
3 INPUT Region $ Produit $ Quantite;
4 DATALINES;
5 Nord A 100
6 Sud B 150
7 Est C 80
8 Ouest A 200
9 ;
10RUN;
11 
12/* Démarrage d'une session CAS (si non déjà active) */
13PROC CAS; QUIT;
14CAS casauto;
15 
16/* Création d'une nouvelle caslib pour la destination */
17PROC CAS;
18 SESSION casauto;
19 TABLE.addCaslib /
20 name="reports",
21 path="/tmp/cas_reports", /* Chemin physique sur le serveur CAS */
22 dataSource={srcType="path"},
23 subdirectories=TRUE,
24 replace=TRUE;
25RUN;
26 
27/* Chargement de la table locale en mémoire CAS dans CASUSER */
28PROC CAS;
29 SESSION casauto;
30 upload path="work.ventes_region" casOut={name="ventes_cas", replace=TRUE};
31RUN;
32 
33/* Copie de 'ventes_cas' vers la caslib 'reports' et promotion de la table */
34PROC CAS;
35 SESSION casauto;
36 TABLE.copyTable /
37 TABLE={name="ventes_cas", caslib="CASUSER"},
38 casOut={name="ventes_rapport", caslib="reports", promote=TRUE, replace=TRUE};
39RUN;
40 
41/* Vérification de la nouvelle table dans la caslib 'reports' */
42PROC CAS;
43 SESSION casauto;
44 TABLE.tableInfo /
45 caslib="reports",
46 name="ventes_rapport";
47RUN;
48 
49/* Nettoyage de la caslib temporaire */
50PROC CAS;
51 SESSION casauto;
52 TABLE.dropCaslib / caslib="reports", terminate=TRUE;
53RUN;
54QUIT;
3 Code Block
DATA STEP / PROC CAS Data
Copied!
1/* Création d'une table SAS WORK locale plus complexe */
2DATA work.clients_info;
3 LENGTH ClientID $8 NomClient $20 Age 8 Revenu 8;
4 INPUT ClientID NomClient $ Age Revenu;
5 FORMAT Revenu DOLLAR10.2;
6 DATALINES;
7 C001 Dupont 35 50000
8 C002 Martin 28 45000
9 C003 Dubois 42 60000
10 C004 Petit 55 75000
11 ;
12RUN;
13 
14/* Démarrage d'une session CAS (si non déjà active) */
15PROC CAS; QUIT;
16CAS casauto;
17 
18/* Chargement de la table locale en mémoire CAS */
19PROC CAS;
20 SESSION casauto;
21 upload path="work.clients_info" casOut={name="clients_original", replace=TRUE};
22RUN;
23 
24/* Copie de la table avec renommage de colonnes et ajout d'un label à la nouvelle table */
25PROC CAS;
26 SESSION casauto;
27 TABLE.copyTable /
28 TABLE={name="clients_original"},
29 casOut={name="clients_processed", replace=TRUE,
30 label="Clients avec Informations Détaillées"},
31 rename={{name="ClientID", newname="ID_Unique"},
32 {name="Revenu", newname="RevenuAnnuel"}};
33RUN;
34 
35/* Vérification de la nouvelle table et de ses colonnes */
36PROC CAS;
37 SESSION casauto;
38 TABLE.columnInfo /
39 caslib="CASUSER",
40 name="clients_processed";
41RUN;
42 
43PROC CAS;
44 SESSION casauto;
45 TABLE.fetch /
46 caslib="CASUSER",
47 TABLE={name="clients_processed"};
48RUN;
49QUIT;
4 Code Block
DATA STEP / PROC CAS Data
Copied!
1/* Création d'une table SAS WORK locale de grande taille */
2DATA work.donnees_simulees;
3 DO i = 1 TO 10000;
4 ID = i;
5 Valeur1 = RANUNI(0) * 100;
6 Valeur2 = RANNORM(0) * 10;
7 OUTPUT;
8 END;
9RUN;
10 
11/* Démarrage d'une session CAS (si non déjà active) */
12PROC CAS; QUIT;
13CAS casauto;
14 
15/* Création de deux caslibs pour la source et la destination */
16PROC CAS;
17 SESSION casauto;
18 TABLE.addCaslib /
19 name="source_data",
20 path="/tmp/cas_source", /* Chemin physique sur le serveur CAS */
21 dataSource={srcType="path"},
22 subdirectories=TRUE,
23 replace=TRUE;
24 TABLE.addCaslib /
25 name="destination_data",
26 path="/tmp/cas_destination", /* Chemin physique sur le serveur CAS */
27 dataSource={srcType="path"},
28 subdirectories=TRUE,
29 replace=TRUE;
30RUN;
31 
32/* Chargement de la table locale dans la caslib 'source_data' */
33PROC CAS;
34 SESSION casauto;
35 upload path="work.donnees_simulees" casOut={name="grande_table_source", caslib="source_data", replace=TRUE};
36RUN;
37 
38/* Copie de la table de 'source_data' vers 'destination_data' */
39/* L'option 'nthreads' peut être utilisée pour optimiser la performance sur de grandes tables */
40PROC CAS;
41 SESSION casauto;
42 TABLE.copyTable /
43 TABLE={name="grande_table_source", caslib="source_data"},
44 casOut={name="grande_table_dest", caslib="destination_data", replace=TRUE},
45 nthreads=8; /* Utilise 8 threads pour la copie (nombre à ajuster selon le système) */
46RUN;
47 
48/* Vérification de la table copiée dans la caslib de destination */
49PROC CAS;
50 SESSION casauto;
51 TABLE.tableInfo /
52 caslib="destination_data",
53 name="grande_table_dest";
54RUN;
55 
56/* Nettoyage des caslibs temporaires (optionnel) */
57PROC CAS;
58 SESSION casauto;
59 TABLE.dropCaslib /
60 caslib="source_data",
61 terminate=TRUE;
62 TABLE.dropCaslib /
63 caslib="destination_data",
64 terminate=TRUE;
65RUN;
66QUIT;
This material is provided "as is" by We Are Cas. There are no warranties, expressed or implied, as to merchantability or fitness for a particular purpose regarding the materials or code contained herein. We Are Cas is not responsible for errors in this material as it now exists or will exist, nor does We Are Cas provide technical support for it.