Hi @Shmuel !
Thank you
The code is that
options mprint;
Libname _9b'C:\Users\pnguyen\OneDrive - Massey University\PhD JOURNEY\2Bfiltering' access=readonly;
/*******DROP BDATE**************/
%macro delvar(lib,dsiname,var2del);
data &lib..&dsname;
set &lib..&dsname(drop=&var2del);
run;
%mend;
data _null_;
set sashelp.vtable(where=(libname='_9B'));
cmd = catx(',', '%delvar(', strip(libname), strip(memname), 'BDATE'||');'); put cmd=;
call execute(cmd);
put _N_= memname= ' was submitted to run' ;
run;
And the log is that, now the error is quite strange to me, because it is clear that there are three parameters in the macro.
28 options mprint;
29 Libname _9b'C:\Users\pnguyen\OneDrive - Massey University\PhD JOURNEY\2Bfiltering' access=readonly;
NOTE: Libref _9B was successfully assigned as follows:
Engine: V9
Physical Name: C:\Users\pnguyen\OneDrive - Massey University\PhD JOURNEY\2Bfiltering
30
31 /*proc contents data=_9b._ALL_ out=contents;
32 run;*/
33
34 /*******DROP BDATE**************/
35 %macro delvar(lib,dsiname,var2del);
36 data &lib..&dsname;
37 set &lib..&dsname(drop=&var2del);
38 run;
39 %mend;
40
41 data _null_;
42 set sashelp.vtable(where=(libname='_9B'));
43 cmd = catx(',', '%delvar(', strip(libname), strip(memname), 'BDATE'||');'); put cmd=;
44 call execute(cmd);
45 put _N_= memname= ' was submitted to run' ;
46 run;
cmd=%delvar(,_9B,ARGENTINA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=1 memname=ARGENTINA_MERGE2_ was submitted to run
cmd=%delvar(,_9B,AUSTRALIA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=2 memname=AUSTRALIA_MERGE2_ was submitted to run
2 The SAS System 21:44 Saturday, February 13, 2021
cmd=%delvar(,_9B,AUSTRIA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=3 memname=AUSTRIA_MERGE2_ was submitted to run
cmd=%delvar(,_9B,BELGIUM_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=4 memname=BELGIUM_MERGE2_ was submitted to run
cmd=%delvar(,_9B,BRAZIL_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=5 memname=BRAZIL_MERGE2_ was submitted to run
cmd=%delvar(,_9B,BULGARIA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=6 memname=BULGARIA_MERGE2_ was submitted to run
cmd=%delvar(,_9B,CHILE_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=7 memname=CHILE_MERGE2_ was submitted to run
cmd=%delvar(,_9B,CHINA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
_N_=8 memname=CHINA_MERGE2_ was submitted to run
cmd=%delvar(,_9B,COLOMBIA_MERGE2_,BDATE);
ERROR: More positional parameters found than defined.
Many thanks!
... View more