Je courais ce qui suitpourquoi je ne peux pas voir mon fichier de données sur ma bibliothèque définissant
%global source_dir util_dir paramf workdir datadir
dataunitid
saserror
;
%let datadir = %str(I:....\KATER\DATA);
%let outdir = %str(I:...\KATER\Results);
I set my library
libname datain "&datadir";
options mstored sasmstore=datain;
and then
%global liste_reg;
%let liste_reg=22 31;
%do k=1 %to %sysfunc(countw(&liste_reg.));
%let reg=%scan(&liste_reg.,&k.);
data hh_record; set datain.hh_record_®.; run;
data person_record; set datain.person_record_®.; run;
%let outdir_ = &outdir.\output_®.;
proc printto log = "&outdir_.Log.txt"; run;
Mais je reçois une erreur:
ERROR: File DATAIN.PERSON_RECORD_.DATA does not exist.
ERROR: File DATAIN.HH_RECORD_.DATA does not exist.
pourquoi est-ce qui se passe, comment puis-je mettre mes données Bibliothèque de données?
Je suis nouveau dans SAS donc je suis un peu confus. En général, j'ai réalisé qu'il n'y a rien dans les deux bibliothèques?
EDIT code complet:
%global source_dir util_dir paramf workdir datadir
dataunitid
saserror
;
%let source_dir = %str(I:...ONS_Transf_20170523);
*location of code;
%let util_dir = &source_dir.%str(\dsp_utils);
%let datadir = %str(...KATER\DATA);
%let outdir = %str(...\KATER\Results);
%let paramf = &datadir.%str(\parameter_file\param.csv);
options mautosource mrecall sasautos=(sasautos "&source_dir" "&util_dir") nolabel;
%reset_saserror;
libname datain "&datadir";
options mstored sasmstore=datain;
libname outdir "&outdir.\output";
options mstored sasmstore=outdir;
%macro sdc_super_control_KAT;
%global liste_reg;
%let liste_reg=22 31;
%do k=1 %to %sysfunc(countw(&liste_reg.));
%let reg=%scan(&liste_reg.,&k.);
data hh_record;
set datain.hh_record_®.;
run;
data person_record;
set datain.person_record_®.;
run;
%let outdir_ = &outdir.\output_®.;
proc printto log = "&outdir_.Log.txt";
run;
/
%sdc_control;
*copy files to permanent library;
proc copy in=work out=outdir_;
select sdcresults_hh_:;
run;
proc printto;
run;
%end;
data outdir.params;
set diagnostics_params;
run;
%mend sdc_super_control_KAT;
%sdc_super_control_KAT;
Exécutez à nouveau votre macro avec les options MPRINT et éventuellement SYMBOLGEN activées. Vous devriez alors pouvoir dire pourquoi la variable macro REG n'est pas définie. Vous pouvez également vérifier votre utilisation de tant de macros. Parfois, cela peut amener le macro-processeur à convertir des choses comme 'person_record_ & reg' en deux jetons au lieu d'un. – Tom