Au-delà des Macros : La Programmation Pilotée par les Données avec CAS dans SAS Viya
Simon 20 vistas
Nivel de dificultad
Débutant
Publicado el :
Consejo del experto
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.
Los códigos y ejemplos proporcionados en WeAreCAS.eu son con fines educativos. Es imperativo no copiarlos y pegarlos ciegamente en sus entornos de producción. El mejor enfoque es comprender la lógica antes de aplicarla. Recomendamos encarecidamente probar estos scripts en un entorno de prueba (Sandbox/Dev). WeAreCAS no acepta ninguna responsabilidad por cualquier impacto o pérdida de datos en sus sistemas.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.