Hello friends, can someone plz help,
have
var1 var2
user1 sessionXYZ
user1 sessionABC
user1 sessionGYAKFJ
user2 sessionSDFKJ
user3 sessionsfljasfgljk
user3 sessionfvksjfvnsjn
want
user1 has 3 seession running
user2 has 1 session running
user3 has 2 session running
Option 1:
proc freq data=have; by var1; run
you will get the frequency of each user in the dataset;
Option 2:
data want;
set have;
by var1; /* assumed data is sorted */
retain counter ;
if first.var1 then counter = 1; else counter+1
if last.var1 then
/* either */ output;
/* or */ put var1 'has ' counter ' sessions running';
run;
Option 1:
proc freq data=have; by var1; run
you will get the frequency of each user in the dataset;
Option 2:
data want;
set have;
by var1; /* assumed data is sorted */
retain counter ;
if first.var1 then counter = 1; else counter+1
if last.var1 then
/* either */ output;
/* or */ put var1 'has ' counter ' sessions running';
run;
If it's the report that you are after, you can extend the idea already suggested:
proc freq data=have;
tables var1 / noprint out=sessions;
run;
data _null_;
set sessions;
file print notitles;
if count > 1 then put var1 'has ' count 'sessions.';
else put var1 'has 1 session.';
run;
And a different proc as an option:
proc tabulate data=have;
class var1;
table var1='',
n="Sessions Running"
;
run;
thank you all...appreciate your time...
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.