Hi,
I have a table like this...
pt no ID value
111 101 96.4
111 102 80/120
For the same patient 111 the ID values are different.
ID value 101 is Temperature and 102 is BP..
How can i get the information in a single row??????/
Regards
Transpose is the question, and the answer!
data have;
length value $10;
input pt_no ID value;
datalines;
111 101 96.4
111 102 80/120
;
proc transpose data=have out=want(drop=_name_) prefix=code_;
by pt_no notsorted;
var value;
id ID;
run;
proc print; run;
PG
Transpose is the question, and the answer!
data have;
length value $10;
input pt_no ID value;
datalines;
111 101 96.4
111 102 80/120
;
proc transpose data=have out=want(drop=_name_) prefix=code_;
by pt_no notsorted;
var value;
id ID;
run;
proc print; run;
PG
You'd better post the result you need . Is it what you are looking for ?
data have;
input pt ID value : $20.;
cards;
111 101 96.4
111 102 80/120
;
run;
data want(keep=pt x);
set have;
by pt;
length x $ 40;
retain x;
x=catx(' ',x,id,value);
if last.pt then do;
output;
call missing(x);
end;
run;
Ksharp
It works fine.
I have a question though..
notsorted : can i use this with the by statement and skip the proc sort step?????
Regards
You can skip sorting only if the patient data (IDs) are consecutive (grouped together) in your dataset. - PG
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 save with the early bird rate—just $795!
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.
Ready to level-up your skills? Choose your own adventure.