BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
prolifious
Obsidian | Level 7

I'm pretty far along into a report.  Right now I have a data set that looks like this (not real data, i understand column 2 and 3 are not sorted, but it is in my program):

 

 

friendtreatscount
birdpop3
birdeggs134
birdfish12
catham8
catsoda12
dogmeat3
dogeggs4
dogfish1
dogcereal1
dogcandy1

 


And I'm trying to get an output of this:

 

friendtreatscountpercentage
birdpop32%
birdeggs13490%
birdfish128%
catham840%
catsoda1260%
dogmeat330%
dogeggs440%
dogfish110%
dogcereal110%
dogcandy110%

 

I'd post code that i have which attempts to do this, but suffice it to say, it's not worth sharing.  Any thoughts or ideas are much appreciated.  thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20
data have;
input friend $	treats $	count;
cards;
bird	pop	3
bird	eggs	134
bird	fish	12
cat	ham	8
cat	soda	12
dog	meat	3
dog	eggs	4
dog	fish	1
dog	cereal	1
dog	candy	1
;

proc sql;
create table want as
select *, count/sum(count)  as pct format=percent10.
from have
group by friend;
quit;

View solution in original post

4 REPLIES 4
novinosrin
Tourmaline | Level 20
data have;
input friend $	treats $	count;
cards;
bird	pop	3
bird	eggs	134
bird	fish	12
cat	ham	8
cat	soda	12
dog	meat	3
dog	eggs	4
dog	fish	1
dog	cereal	1
dog	candy	1
;

proc sql;
create table want as
select *, count/sum(count)  as pct format=percent10.
from have
group by friend;
quit;
prolifious
Obsidian | Level 7

This is the first I'll be using PROC SQL...thank you very much!!

novinosrin
Tourmaline | Level 20

@prolifious You are welcome. Yes proc SQL is super cool 🙂

ballardw
Super User

And one of the other report procedures:

proc tabulate data=have;
   class friend treats;
   freq count;
   table friend*treats,
         n='Count'  pctn<treats>='Percentage' *f=percent8.0
         ;
run;

if you do not actually need a data set

 

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1827 views
  • 1 like
  • 3 in conversation