En programmation SAS, une donnée invalide n'est pas seulement un problème de lecture, c'est un signal d'alarme sur la qualité de votre source. Si le comportement par défaut de SAS est tolérant — il transforme la valeur en "manquant" (.) et continue — il génère un bruit important dans la Log qui peut masquer d'autres problèmes.
Mon conseil pour une gestion professionnelle de ces anomalies :
Anticipez le "bruit" : Utilisez les modificateurs ? ou ?? lors de l'informat (ex: input montant ?? comma10.2;) uniquement si vous avez déjà prévu un traitement spécifique pour les valeurs manquantes. Le ?? est particulièrement utile pour garder une Log "propre" (sans message d'erreur et sans incrémenter _ERROR_), mais il demande une vigilance accrue.
Tracez les rejets : Ne vous contentez pas de masquer l'erreur. Si vous utilisez ??, je recommande d'ajouter une condition if montant = . then... pour isoler ces lignes dans une table de rejet.
L'objectif est simple : passer d'une gestion d'erreur subie (les notes automatiques de SAS) à une gestion maîtrisée et silencieuse
Type : CREATION_INTERNE
Les exemples utilisent des données générées (datalines).
| 1 | DATA age; |
| 2 | INPUT Name $ Number; |
| 3 | DATALINES; |
| 4 | Sue 35 |
| 5 | Joe xx |
| 6 | Steve 22 |
| 7 | ; |
| 8 | |
| 9 | PROC PRINT DATA=age; |
| 10 | RUN; |
Ce document décrit les différents types d'erreurs que SAS peut rencontrer lors de la compilation ...
Ce document décrit les différents types d'erreurs liées à l'utilisation des macros SAS.