I have to assume you can put the SGPLOT code into play, using CALL EXECUTE. Here's how you get the loop.
data _null_;
do until (last.user);
set test;
by user;
end;
call execute('data subset; set test; where user="' );
call execute(user);
call execute('"; run;');
** More CALL EXECUTES to generate the SGPLOT using the data set SUBSET;
run;
The top portion of the DATA step generates a subset of the TEST data (named SUBSET) for a single user. Then the next part that you add will generate SGPLOT and related statements for that user.
... View more