Q:

SAS 9.4 How to quickly check for all data / variables

Sorry that I don't know what if there are any previous questions ask this problem.  If there is, please show me the link :)
Similar to the question that to check if there is missing values and place '0' to the missing values.  
data new;
  set old;
  array change _numeric_;
  do over change;
    if change = .  then change = 0;
  end;
run;

I am wondering if I want to check for all data/variable is positive or not:
data new;
  set old;
  array change _numeric_;
  do over change;
    if change <= 0 then change = 0;
    if change > 0 then change = 1;
  end;
run;

But it doesn't do what I expected.  What can I do?  
And then, I am thinking if there is a quick way to represent all the data/variable.  i.e.
data new;
  set old;
  if _all_ <= 0 then ... = 0;
  if _all_ > 0 then ... = 1;
run;

Something like this.  

A:

Your basic concept should work, but it looks like the syntax isn't quite right.   As you're creating a 0,1 flag, you can simplify the code as follows (you don't need an if,then,else statement). 
This will change each individual value.   I'm not sure exactly what you mean by your second point, are saying if all values are negative or positive then change them?   If so, is this all in a row or column? 
data old;
input a b c;
datalines;
-2  3   0
3   5   9
1   0   -5
4   7   -8
;
run;

data new;
set old;
array change{*} _numeric_;
do i = 1 to dim(change);
    change{i} = change{i}>0;
end;
drop i;
run;

