Publié le :
Débogage CREATION_INTERNE

Gestion des erreurs de données

Snippet validé
Les erreurs de données sont détectées pendant l'exécution du programme lorsque les types de données ne correspondent pas aux définitions des variables. SAS© continue l'exécution mais enregistre une note d'erreur, imprime la ligne d'entrée et les numéros de colonne contenant la valeur invalide, affiche l'observation sous une ligne de règle, et définit la variable automatique _ERROR_ à 1 pour l'observation courante. Le document aborde également les modificateurs de format '?' et '??' pour la gestion des erreurs, qui suppriment le message d'erreur d'invalidité de données, le modificateur '??' mettant en plus la variable _ERROR_ à 0.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines).

1 Bloc de code
DATA STEP / PROC PRINT Data
Explication :
Cet exemple crée un ensemble de données 'age' avec deux variables : 'Name' (caractère) et 'Number' (numérique). La ligne de données 'Joe xx' contient une valeur 'xx' pour la variable 'Number', qui est numérique. Cela provoque une erreur de données car 'xx' ne peut pas être converti en nombre. SAS attribuera une valeur manquante à 'Number' pour l'observation 'Joe' et affichera une note d'erreur dans le log. PROC PRINT est ensuite utilisée pour afficher le contenu de l'ensemble de données, montrant la valeur manquante pour 'Number' pour l'observation en erreur.
Copié !
1DATA age;
2 INPUT Name $ Number;
3 DATALINES;
4Sue 35
5Joe xx
6Steve 22
7;
8 
9PROC PRINT DATA=age;
10RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentation liée : Débogage

Sujet / Mot-cléLien vers la ressource
DOC Erreurs liées aux macros fr/sampleCode/ERREUR6CA6
DOC Définitions des types d'erreurs dans SAS fr/sampleCode/DEFINI9A72
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« 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 »