One basic approach to count a specific value for a variable with Proc Freq;
proc freq data=sashelp.class;
where sex='F';
tables sex;
run;
Which would require 30 calls to proc freq.
If there are not many potential values involved for any of the variables (less than 10 values) I would likely just dump them all into a single proc freq call an look.
Or perhaps something like:
data need;
set have;
array v <list of your thirty variables>;
do i= 1 to dim(v);
variable = vname(v[i]);
if v[i]=0 then output;
end;
keep variable;
run;
proc freq data=need;
tables variable;
run;
The count of variable is how many times it appeared as a 0 in the source data set. Note: if you have a mix of character and numeric variables this won't work as an array can only have variables of one type. So if you actually have some character "0" you would split the variables between two differently named arrays and the character comparison would be for "0" instead.
... View more