À retenir
- C'est un outil spécifique au langage de programmation SAS.
- Elle stocke exclusivement du texte (même si ce texte représente un chiffre).
- Elle est appelée dans le code en utilisant le symbole
&.
Une macro-variable est un conteneur d'informations utilisé principalement dans le langage SAS pour stocker des chaînes de caractères. Contrairement à une variable classique qui contient une donnée d'un tableau (comme un nom ou un prix), la macro-variable sert de "étiquette" ou de raccourci : le programme remplace cette étiquette par son contenu textuel juste avant d'exécuter le code. C'est un peu comme la fonction "rechercher et remplacer" de votre traitement de texte, mais automatisée au cœur du programme.
Étymologie
Le terme est composé du préfixe macro (du grec makros, grand), qui désigne en informatique un ensemble d'instructions regroupées, et de variable. Il fait référence aux outils de programmation "macro" du logiciel SAS, permettant de piloter le code de manière dynamique.
Exemples d'usage
- Utiliser une macro-variable
&anneepour mettre à jour automatiquement la date dans tous les titres de vos rapports. - Stocker un chemin d'accès vers un dossier (ex:
&chemin_donnees) pour ne pas avoir à le réécrire intégralement à chaque importation de fichier.
Cas d'usage
On les utilise principalement pour l'automatisation de tâches répétitives, la création de programmes flexibles qui s'adaptent selon les paramètres de l'utilisateur, ou pour simplifier la maintenance d'un code complexe en centralisant les valeurs importantes au début du script.
Bonnes pratiques
Il est recommandé de toujours vérifier que la macro-variable a bien été initialisée avec l'instruction %LET avant de l'appeler. Attention également à ne pas confondre les macro-variables (qui commencent par une esperluette &) et les variables de tables de données classiques, car leur fonctionnement en mémoire est totalement différent.
Synonymes
Antonymes
Conseil
Pour bien débuter, visualisez la macro-variable comme un tampon : vous préparez votre texte une fois, et vous pouvez l'appliquer partout dans votre programme d'un seul geste. C'est l'outil indispensable pour passer d'un code figé à un programme professionnel et automatisé.
Questions fréquentes
Quelle est la différence entre une variable SAS et une macro-variable ?
Une variable SAS appartient à un tableau de données et change pour chaque ligne, alors qu'une macro-variable réside dans une zone mémoire globale et conserve la même valeur pour tout le programme jusqu'à ce qu'on la modifie.
Pourquoi utilise-t-on un '&' ?
Le symbole '&' (esperluette) est le signal pour l'ordinateur qu'il doit remplacer ce nom par la valeur stockée dans la macro-variable avant de lire la commande.