## combining multiple value with distinct value

Solved
Super Contributor
Posts: 419

# combining multiple value with distinct value

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

Accepted Solutions
Solution
‎11-04-2016 06:16 PM
Posts: 1,848

## Re: combining multiple value with distinct value

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;

All Replies
Solution
‎11-04-2016 06:16 PM
Posts: 1,848

## Re: combining multiple value with distinct value

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;

Super User
Posts: 6,934

## Re: combining multiple value with distinct value

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;

Super User
Posts: 13,941

## Re: combining multiple value with distinct value

And a different proc as an option:

``````
proc tabulate data=have;
class var1;
table var1='',
n="Sessions Running"
;
run;``````
Super Contributor
Posts: 419