/****************************************************************************** * Programme : Mastering table.tableInfo: How to Search, Filter, and Manage CAS Tables Like a Pro * Reference : SANSTI686A * Source : https://www.wearecas.eu/fr/sampleCode/SANSTI686A ******************************************************************************/ /* --- BLOC 1 --- */ cas; /* Créer une table temporaire en mémoire CAS */ data casuser.ma_table_basique; input ID Name $ Value; datalines; 1 Alice 100 2 Bob 150 3 Charlie 120 ; run; /* Afficher les informations de la table */ proc cas; table.tableInfo result=r / name="ma_table_basique" caslib="casuser"; print r; run; /* --- BLOC 2 --- */ cas; /* Créer une table dans le caslib "Samples" */ data samples.produits_ventes; input Annee Produit $ Quantite Prix; datalines; 2023 A 10 100 2023 B 20 50 2024 A 15 110 2024 C 5 200 ; run; /* Tenter d'obtenir des informations sur une table inexistante, en mode silencieux */ proc cas; table.tableInfo result=r_non_existent / name="table_introuvable" quiet=TRUE; print r_non_existent; run; /* Obtenir des informations sur une table existante dans un caslib spécifique */ proc cas; table.tableInfo result=r_existent / name="produits_ventes" caslib="Samples"; print r_existent; run; /* --- BLOC 3 --- */ cas; /* Créer quelques tables avec des noms contenant des caractères spéciaux */ data casuser.donnees_2023_Q1; ID=1; Val=10; run; data casuser.donnees_2023_Q2; ID=2; Val=20; run; data casuser.donnees_2024_Q1; ID=3; Val=30; run; data casuser.rapport_final; ID=4; Val=40; run; /* Rechercher toutes les tables dont le nom commence par "donnees_" et contient "2023", en utilisant le caractère joker '%' et en désactivant wildIgnore pour qu'il soit interprété */ proc cas; table.tableInfo result=r_wildcard / name="donnees_2023_%" caslib="casuser" wildIgnore=FALSE; print r_wildcard; run; /* --- BLOC 4 --- */ cas; /* Créer une table dont le nom contient un caractère spécial à échapper */ data casuser."resultat_final_%_test"; ID=10; Score=95.5; run; /* Tenter de trouver la table en utilisant un joker pour le nom et un caractère d'échappement */ proc cas; table.tableInfo result=r_escape / name="resultat_final_\%_test" /* Cherche le '%' littéral */ caslib="casuser" wildIgnore=FALSE /* Active l'interprétation des jokers */ wildEscape="\\"; /* Indique que '\' est le caractère d'échappement */ print r_escape; run; /* Autre exemple : Lister toutes les tables dans casuser */ proc cas; table.tableInfo result=r_all / name="%" caslib="casuser" wildIgnore=FALSE; print r_all; run;