logo

Macro : Utilisation des instructions cards et datalines dans un macro programme

Je souhaite générer des tables automatiquement avec un programme sas, mais impossible d’utiliser les fonctions cards et datalines !
Quelle est l’origine du problème et existe-t-il une astuce pour y remédier ?

Merci d’avance.

exemple de script :

 %macro essai;
 data table;
 input variable;
 cards;
 1
 2
 3
 ;
 run;
 %mend essai;
 %essai;
 
 ERROR: The macro ESSAI generated CARDS (data lines) for the DATA step, which could cause incorrect results. The DATA step and the macro will stop executing.
 NOTE: The data set WORK.TABLE has 0 observations and 1 variables.

 

Bonjour.

Effectivement, l’emploi de CARDS, CARDS4 et DATALINES est interdit dans un macro-programme. La raison est sans doute la difficulté prévisible de bien repérer les données proposées.
Une alternative sera de mettre les données dans un fichier texte et de le lire avec INFILE … INPUT.