L'objectif : Charger une table de plusieurs gigaoctets en RAM n'est pas toujours pertinent si vous n'avez besoin que d'un sous-ensemble. Filtrer les données dès la lecture (pendant le loadTableAction d'action CAS permettant de charger une table en mémoire depuis un caslib. Elle rend les données disponibles pour l'analyse analytique distribuée et le traitement haute performance.) évite de saturer la mémoire du serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions. et accélère considérablement le temps de chargement.
Explications détaillées : CASLLangage de script de SAS Viya utilisé pour interagir avec le serveur CAS. Il permet de combiner des actions CAS, de gérer la logique de programmation et de manipuler les résultats en mémoire. permet d'appliquer des clauses SQL-like directement lors de la lecture du fichier physique. L'option where s'applique avant même que la donnée ne s'installe en RAM. De même, l'option vars agit comme un keep classique en SAS, limitant le chargement aux seules variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. nécessaires. C'est une bonne pratique d'architecture pour les environnements partagés où la RAM est sous tension.
Exemple 1 : Filtrer les lignes au chargement (Clause Where)
2
3
4
5
6
7
table.loadTable /
caslib="Public"
path="historique_ventes.sashdat"
casOut={name="VENTES_2026", caslib="Public", replace=True}
where="Year = 2026 and Status = 'COMPLETED'";
quit;
Exemple 2 : Ne charger que des colonnes spécifiques (Clause Vars)
2
3
4
5
6
7
table.loadTable /
caslib="Public"
path="clientele_globale.csv"
casOut={name="CLIENTS_LIGHT", caslib="Public", replace=True}
vars={"ID_Client", "Code_Postal", "Segment"}; /* Seules ces 3 colonnes seront en RAM */
quit;






