Au-delà des Macros : La Programmation Pilotée par les Données avec CAS dans SAS Viya
Simon 20 vues
Niveau de difficulté
Débutant
Publié le :
Le conseil de l'expert
Michael
Le plus grand changement mental avec Viya est d'accepter que le processeur Macro ne "touche" jamais le serveur CAS : il ne fait que préparer le texte en amont sur le Compute Server. Pour gagner en performance, arrêtez de forcer la logique macro dans le calcul distribué. Adoptez les types natifs du CASL (Dictionnaires, Result Tables) : ils remplacent avantageusement les call symput et les macro-arrays pour piloter vos flux dynamiques.
Cet article démystifie ces interactions et explore comment utiliser les variables CASL pour une programmation dynamique et pilotée par les données, souvent plus efficace que les macros traditionnelles.
1. Comprendre l'Architecture : Où s'exécute votre code ?
2. Les Variables CASL : Plus puissantes que les macro-variables
Contrairement aux macro-variables qui ne sont que du texte, le CASL utilise des variables typées dynamiquement (le type est défini lors de l'assignation)5. La véritable puissance du CASL réside dans ses types de données composites.
3. Programmation Pilotée par les Données : La Boucle DO OVER
L'équivalent moderne et performant des boucles macro (%DO %WHILE ou boucles sur call execute) est la boucle DO OVER en CASL. Elle permet d'itérer facilement sur des tableaux, des dictionnaires ou des tables de résultats.
Syntaxe de la boucle DO OVER
Pour un Dictionnaire :DO , OVER ;
Pour un Tableau (Array) :DO OVER ;
Pour une Table : On itère sur les lignes comme s'il s'agissait d'un tableau.
Tableau 3 : Comparaison Macro vs CASL pour le pilotage par les données
Exemple de logique UDF :Vous pouvez créer une fonction loadAllFiles(caslib) qui récupère la liste des fichiers d'une librairie et boucle dessus pour les charger automatiquement en mémoire, remplaçant ainsi des dizaines de lignes de code macro complexe.
Les codes et exemples fournis sur WeAreCAS.eu sont à but pédagogique. Il est impératif de ne pas les copier-coller aveuglément sur vos environnements de production. La meilleure approche consiste à comprendre la logique avant de l'appliquer. Nous vous recommandons vivement de tester ces scripts dans un environnement de test (Sandbox/Dev). WeAreCAS décline toute responsabilité quant aux éventuels impacts ou pertes de données sur vos systèmes.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.