1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| option missing='';
data test;
input var1 var2 var3 :$20. var4 $ ;
cards;
1 . "test" test
2 . t"test1"test test
3 6 t"test1"test test
;run;
data _null_;
set sashelp.vcolumn(keep=libname memname name type where=(libname='WORK' and memname='TEST')) end=last;
if _n_ eq 1 then call execute('proc sql; create table test1 as select ');
if type='char' then call execute(' '||strip(name)||' format=$50. length=50 as '||strip(name));
else call execute('put('||strip(name)||',best32. -l) length=50 as '||strip(name));
if not last then call execute(',');
else call execute(' from test;quit;');
run;
data test2(drop= i );
set test1;
array X(*) _all_;
do i=1 to dim(x);
if x(i)='' then do;
x(i)='|';
end;
end;
run;
data test2 ;
set test2;
length varg $1000.;
array X(*) _all_;
varg=strip(tranwrd(catx('|', of x(*)),'|||','||'));
run;
data _null_;
set test2;
file "test.txt" lrecl = 32767 ;
put varg;
run; |
Partager