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

Hello ,

I'm trying to get the percentage of 1=Yes values for each question (Q1,Q2 etc)  within each ID variable.  Below is my data sample and desired output.

I did this using PROC SQL with sub queries but I'd like to get the same results using one of SAS procedure, I don't know maybe proc tabulate or proc freq etc... Could you please help ?

Data

IDQ1Q2Q3Q4
A1111
A1010
A0010
A1100
B1100
B0101
B0010

Output

IDQ1_PQ2_PQ3_PQ4_P
A0.750.50.750.25
B0.33330.6666670.33330.3333
1 ACCEPTED SOLUTION

Accepted Solutions
data_null__
Jade | Level 19

I don't know if it needs transpose or not.  Maybe you just want percent.

proc summary data=q nway;
  
class ID;
   output out=percent mean(q:)=;
   run;

View solution in original post

4 REPLIES 4
data_null__
Jade | Level 19

I would go ahead as get N, count, and percent.

data q;
   input ID:$1. Q1-Q4;
   cards;
A 1 1 1 1
A 1 0 1 0
A 0 0 1 0
A 1 1 0 0
B 1 1 0 0
B 0 1 0 1
B 0 0 1 0
;;;;
   run;
ods select none;
proc means n sum mean stackods;
   class id;
   ods output summary=summary(rename=(sum=count mean=percent));
   run;
ods select all;
proc print;
  
format _all_;
   run;
Sas_R
Calcite | Level 5

Thank you, it seems like your process also needs transpose procedure for the output. I'll work on that.

data_null__
Jade | Level 19

I don't know if it needs transpose or not.  Maybe you just want percent.

proc summary data=q nway;
  
class ID;
   output out=percent mean(q:)=;
   run;
Sas_R
Calcite | Level 5

Thank you so much, I learned another procedure today...way better than Proc sql....

Best Regards...

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1138 views
  • 1 like
  • 2 in conversation