> Is it possible to delete - drop columns if there
> isn't any value in for each row of the dataset?
Yes but you have to figure out what columns contain all missing values.
Here is one method.
[pre]
data have;
missing a b;
input name$ a b c d e;
*keep name a;
cards;
x 2 . . . .
y . . 3 . .
z . a . . .
p . . . b .
q . . . . .
;;;;
run;
proc print;
run;
proc format; *To speedup PROC FREQ;
value allmiss ._-.z=. other=1;
value $allmiss ' '=' ' other='1';
run;
ods select nlevels;
ods output nlevels=nlevels;
proc freq levels;
format _character_ $allmiss. _numeric_ allmiss.;
run;
ods output close;
data nlevels;
/*NNonMissLevels will not exist when there are no*/
/*variables with missing values*/
retain NNonMissLevels -1;
set nlevels;
run;
%let allMiss=;
proc sql noprint;
select tableVar into :allmiss separated by ' '
from Nlevels where NNonMissLevels = 0;
quit;
run;
%let allmiss = %sysfunc(IFC(&allmiss eq,%str( ),drop=&allmiss));
%put NOTE: ALLMISS=&allMiss;
proc report data=have(&allmiss) nowd;
run;
[/pre]