2 votes

Macros SAS pour importer et appliquer une macro à partir d'un fichier texte sur un ensemble de données csv.

J'ai un fichier texte "Macro definition" qui contient deux définitions de macros SAS. Je voudrais les importer et les appliquer à l'ensemble de données HTWT.csv. Cet ensemble de données comporte 20 observations et 6 variables : ID, sexe, âge, taille, poids, année. Toutes sont numériques, sauf la variable sexe. J'ai le code ci-dessous pour importer et appliquer les macros du fichier txt au fichier csv. J'obtiens un message d'erreur en exécutant ce code comme ci-dessous.

outcsvv est le nom de l'ensemble de données HTWT importé dans SAS.

%include "C:\Users\komal\Desktop\Advanced SAS\Macro definition.txt";
%contents_of(outcsvv)
%print_data(outcsvv)
Warning:Apparent Invocation of macro "contents_of" not resolved
Error: Unable to complete processing of INCLUDE. Expected a filename or fileref
Expected a statement keyword: found "("

La deuxième erreur que j'obtiens est probablement due à la ou aux définitions de macro du fichier texte qui sont les suivantes.

%macro contents_of(name);
proc contents data=&name;
run;
%mend;

%macro print_data(name);
proc print data=&name;
run;
%mend;

Veuillez me faire part de vos conseils sur la manière de résoudre ce problème. Je vous remercie pour votre temps.

1voto

momo1644 Points 1632

Vous pouvez configurer votre propre macro Bibliothèque d'appels automatiques . Il vous suffit de diviser votre fichier et d'enregistrer une macro par fichier. plus .

ou vous pouvez ajouter ce code au début de votre programme :

options insert=(sasautos="/C:\Users\komal\Desktop\Advanced SAS") ;

cela recherchera les macros dans ce répertoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X