Type : CREATION_INTERNE
Examples use generated data (datalines) or SASHELP, ensuring their autonomy and direct execution.
| 1 | /* Création d'une table CAS avec une colonne CHAR de longueur fixe */ |
| 2 | cas libref=casuser; |
| 3 | |
| 4 | DATA casuser.fixed_char; |
| 5 | LENGTH name char(10); |
| 6 | name = 'Alice'; |
| 7 | OUTPUT; |
| 8 | name = 'Bob'; |
| 9 | OUTPUT; |
| 10 | RUN; |
| 11 | |
| 12 | /* Affichage du contenu de la table pour vérifier */ |
| 13 | PROC PRINT DATA=casuser.fixed_char; |
| 14 | RUN; |
| 15 | |
| 16 | /* Nettoyage */ |
| 17 | PROC CAS; |
| 18 | TABLE.dropTable RESULT=r / name='fixed_char' caslib='casuser'; |
| 19 | PRINT r; |
| 20 | RUN; |
| 21 | QUIT; |
| 1 | /* Création d'une table CAS avec une colonne VARCHAR de longueur explicite */ |
| 2 | cas libref=casuser; |
| 3 | |
| 4 | DATA casuser.varying_char_example; |
| 5 | LENGTH description varchar(50); |
| 6 | description = 'Ceci est une description courte.'; |
| 7 | OUTPUT; |
| 8 | description = 'Ceci est une description beaucoup plus longue qui utilise plus de caractères.'; |
| 9 | OUTPUT; |
| 10 | description = 'Court'; |
| 11 | OUTPUT; |
| 12 | RUN; |
| 13 | |
| 14 | /* Affichage du contenu et des informations sur les colonnes pour vérifier les longueurs réelles */ |
| 15 | PROC PRINT DATA=casuser.varying_char_example; |
| 16 | RUN; |
| 17 | |
| 18 | PROC CAS; |
| 19 | TABLE.columnInfo RESULT=c / TABLE='varying_char_example' caslib='casuser'; |
| 20 | PRINT c; |
| 21 | RUN; |
| 22 | QUIT; |
| 23 | |
| 24 | /* Nettoyage */ |
| 25 | PROC CAS; |
| 26 | TABLE.dropTable RESULT=r / name='varying_char_example' caslib='casuser'; |
| 27 | PRINT r; |
| 28 | RUN; |
| 29 | QUIT; |
| 1 | /* Création d'une table CAS avec une colonne DOUBLE incluant des valeurs manquantes et des nombres à haute précision */ |
| 2 | cas libref=casuser; |
| 3 | |
| 4 | DATA casuser.double_advanced; |
| 5 | INPUT num_val; |
| 6 | DATALINES; |
| 7 | 100.123456789 |
| 8 | . |
| 9 | 1.23456789123456789E-10 |
| 10 | -5.6789123456789E+12 |
| 11 | ; |
| 12 | RUN; |
| 13 | |
| 14 | /* Affichage des informations sur les colonnes pour confirmer le type DOUBLE */ |
| 15 | PROC CAS; |
| 16 | TABLE.columnInfo RESULT=c / TABLE='double_advanced' caslib='casuser'; |
| 17 | PRINT c; |
| 18 | RUN; |
| 19 | |
| 20 | /* Récupération et affichage des données pour montrer la précision et les manquants */ |
| 21 | PROC CAS; |
| 22 | TABLE.fetch RESULT=f / TABLE='double_advanced' caslib='casuser'; |
| 23 | PRINT f; |
| 24 | RUN; |
| 25 | QUIT; |
| 26 | |
| 27 | /* Nettoyage */ |
| 28 | PROC CAS; |
| 29 | TABLE.dropTable RESULT=r / name='double_advanced' caslib='casuser'; |
| 30 | PRINT r; |
| 31 | RUN; |
| 32 | QUIT; |
| 1 | /* Initialise une session CAS */ |
| 2 | cas libref=casuser; |
| 3 | |
| 4 | /* Crée une table CAS avec une colonne VARCHAR(*) */ |
| 5 | DATA casuser.varchar_star_orig; |
| 6 | LENGTH comments varchar(*); |
| 7 | comments = 'Un commentaire.'; OUTPUT; |
| 8 | comments = 'Un commentaire très long, dont la taille maximale n''est pas prédéfinie, pour observer l''impact lors de la copie.'; OUTPUT; |
| 9 | RUN; |
| 10 | |
| 11 | /* Crée une table CAS avec une colonne CHAR(10) */ |
| 12 | DATA casuser.char_fixed_orig; |
| 13 | LENGTH short_text char(10); |
| 14 | short_text = 'Hello'; OUTPUT; |
| 15 | short_text = 'WorldLonger'; /* Sera tronqué */ |
| 16 | OUTPUT; |
| 17 | RUN; |
| 18 | |
| 19 | /* Copie les tables CAS vers une bibliothèque de travail SAS standard */ |
| 20 | /* Remarque: La bibliothèque WORK est un chemin local non-CAS. */ |
| 21 | /* Pour une exécution hors de SAS Studio/Viya, ajuster le LIBNAME si nécessaire */ |
| 22 | LIBNAME work clear; |
| 23 | |
| 24 | DATA work.varchar_star_copy; |
| 25 | SET casuser.varchar_star_orig; |
| 26 | RUN; |
| 27 | |
| 28 | DATA work.char_fixed_copy; |
| 29 | SET casuser.char_fixed_orig; |
| 30 | RUN; |
| 31 | |
| 32 | /* Vérifie les attributs des colonnes dans la table copiée */ |
| 33 | PROC CONTENTS DATA=work.varchar_star_copy varnum; RUN; |
| 34 | PROC CONTENTS DATA=work.char_fixed_copy varnum; RUN; |
| 35 | |
| 36 | /* Affiche le contenu de la table CHAR pour voir la troncature */ |
| 37 | PROC PRINT DATA=work.char_fixed_copy; |
| 38 | RUN; |
| 39 | |
| 40 | /* Nettoyage des tables CAS */ |
| 41 | PROC CAS; |
| 42 | TABLE.dropTable RESULT=r / name='varchar_star_orig' caslib='casuser'; |
| 43 | PRINT r; |
| 44 | TABLE.dropTable RESULT=r / name='char_fixed_orig' caslib='casuser'; |
| 45 | PRINT r; |
| 46 | RUN; |
| 47 | QUIT; |