hi
i have two categorical variables and i want to stack Y under X like it seen in my attached reference report.
Your input will be appreciated. Thanks kindly!!!
X Y
APPLICATION SITE DISORDERS injection site pain
APPLICATION SITE DISORDERS injection site reaction
AUTONOMIC NERVOUS SYSTEM DISORDERS flushing
BODY AS A WHOLE - GENERAL DISORDERS ACCIDENTAL INJURY
BODY AS A WHOLE - GENERAL DISORDERS ALLERGIC REACTION
BODY AS A WHOLE - GENERAL DISORDERS CHEST PAIN
BODY AS A WHOLE - GENERAL DISORDERS FATIGUE
BODY AS A WHOLE - GENERAL DISORDERS FEVER
BODY AS A WHOLE - GENERAL DISORDERS O EDEMA DEPENDENT
BODY AS A WHOLE - GENERAL DISORDERS O EDEMA LEGS
BODY AS A WHOLE - GENERAL DISORDERS PAIN
BODY AS A WHOLE - GENERAL DISORDERS RIGORS
Sort by X Y, e.g.:
proc sort data = have out = stacked ;
by X Y ;
run ;
To generate the report a la in your Word doc, you'll need to process the sorted data set STACKED using some other SAS tool relying on BY processing, such as the DATA step, the REPORT procedure, etc. For example, using the DATA step (I'm, making some formatting assumptions here):
data have ;
input @1 X $36. @38 Y $23. ;
cards ;
body as a whole - general disorders o edema legs
autonomic nervous system disorders flushing
body as a whole - general disorders accidental injury
body as a whole - general disorders allergic reaction
body as a whole - general disorders chest pain
application site disorders injection site reaction
body as a whole - general disorders fatigue
body as a whole - general disorders fever
body as a whole - general disorders o edema dependent
body as a whole - general disorders pain
application site disorders injection site pain
body as a whole - general disorders rigors
;
run ;
proc sort data = have out = stacked ;
by X Y ;
run ;
data _null_ ;
file print ;
set stacked (in = inX) stacked ;
by X ;
if first.X and inX then put X ;
else put @ 5 Y ;
run ;
Kind regards
Paul D.
Thanks paul. Its working fine with the data.
I got the counts and the %(row) for both the variables in a separate data-sets, but unable to stack the X (Preferred term) variable data-set under the Y(System organ class) variable data-set e like it shows in my attached report.docx.
Your input will be appreciated!!!
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.