Au-delà des Macros : La Programmation Pilotée par les Données avec CAS dans SAS Viya
Simon 20 Aufrufe
Schwierigkeitsgrad
Débutant
Veröffentlicht am :
Expertenrat
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.
Die auf WeAreCAS.eu bereitgestellten Codes und Beispiele dienen Lehrzwecken. Es ist zwingend erforderlich, sie nicht blind in Ihre Produktionsumgebungen zu kopieren. Der beste Ansatz besteht darin, die Logik zu verstehen, bevor sie angewendet wird. Wir empfehlen dringend, diese Skripte in einer Testumgebung (Sandbox/Dev) zu testen. WeAreCAS übernimmt keine Verantwortung für mögliche Auswirkungen oder Datenverluste auf Ihren Systemen.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.