Im trying to create a dynamic function to let me search and replace all coloumns in a specific datasheet. Im having some trouble with my array. This is the as-if code: ** Options; %let search = "P"; %let replace = "A"; ** Find coloums; %macro checklist; %global columnlist; %mend; %checklist ** S&R function; %macro searchreplace(data); data &data._new; set &data; array varlist{*} &columnlist; do i = 1 to dim(varlist); varlist(i)=tranwrd(varlist(i), &search, &replace); end; drop i; run; %mend; ** Test; %searchreplace(data=testdata); --- This is my error log: 30 ** Options; 31 %let search = "P"; 32 %let replace = "A"; 33 34 ** Find coloums; 35 %macro checklist; 36 %global columnlist; 37 /* %if &columnlist eq %then %let columnlist=_character_; */ 38 %mend checklist; 39 %checklist 40 41 ** Søg og erstat funktion; 42 %macro searchreplace(data); 43 data &data._ny; 44 set &data; 45 array varlist{*} &columnlist; 46 do i = 1 to dim(varlist); 47 varlist(i)=tranwrd(varlist(i), &search, &replace); 48 end; 49 drop i; 50 run; 51 %mend; 52 53 ** Kør skidtet; 54 %searchreplace(data=testdata); ERROR: The array varlist has been defined with zero elements. ERROR: Too many array subscripts specified for array varlist. ERROR: Too many array subscripts specified for array varlist. Any input / help would be much appriciated. Thanks Kasper
... View more