You can create a macro variable using CALL SYMPUTX() function.
%let percent=;
data _null_;
set have;
if status='Successfull" then call symputx('percent',percent');
run;
If you want to test whether the string in that macro variable is larger than some other floating point value make sure to use %SYSEVALF() as the normal %EVAL() macro function used in %IF will only handle integer arithmetic.
%if %sysevalf(&percent > 0.5 ) %then %do;
....
%end;
... View more